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