Re: [问题] 1-9位数不重复印出来 (Python)

楼主: fourdollars (四元)   2016-11-27 00:23:19
这是我目前找出来 Python 3 上面执行速度最快的方法
不过还是比 Perl 的版本要慢一点点,最快的还是 C 大概是 Perl 的十倍快
#!/usr/bin/env python3
import sys
power = int(sys.argv[1])
class Num(object):
def __init__(self, power):
self.upper = 10 ** power
def __iter__(self):
for i in range(1, self.upper):
num = str(i)
if len(set(num)) == len(num):
yield(i)
num = Num(power)
numbers = [str(i) for i in num]
print(', '.join(numbers))
※ 引述《mikemagic88 (Mikemagic88)》之铭言:
: 使用者输入1 印1-9
: 使用者输入2 印1-98 (11, 22, 33等重复的不印)
: 使用者输入3 印1-987 (121, 988, 667等有重复的不印)

Links booklink

Contact Us: admin [ a t ] ucptt.com