2015-11-29 12 views
0

我需要生成一个单词列表的所有6位数字 此代码将工作?将我的6位数字代码工作?

from random import randint 
list = [111111] 
print ('111111') 
while True: 
    number = randint(100000,999999) 
    if not number in list: 
     list.extend(str(number)) 
     print(number) 
+3

你能解释一下多一点你正试图在这里做。你想要一个全部6位数字的列表? – pwilmot

回答

0

而不是随机尝试号码,然后将其添加一次一个字符(考虑append()而非extend()),只需发送range()对象list()

numbers = list(range(100000, 1000000)) 

注意,我我们称之为numbers而不是list,以避免掩盖list()

如果你想每一个数字作为一个字符串,它们映射到字符串:

numbers = list(map(str, range(100000, 1000000))) 
0

你的方法将工作,但会很慢。我建议使用列表理解来生成数字列表。如果您需要将其随机化,则随机模块中会有一种随机播放方法。

from random import shuffle 

#if you wanted just numbers 
x_all_numbers = [i for i in range(100000, 999999)] 

#if you wanted strings of different numbers 
x_str_numbers = [str(i) for i in range(100000, 999999)] 

print(x_all_numbers[0:10]) 
shuffle(x_all_numbers) 
print(x_all_numbers[0:10]) 

要说明的是这会工作,我包括输出:

[100000, 100001, 100002, 100003, 100004, 100005, 100006, 100007, 100008, 100009] 
[783780, 170070, 270425, 119709, 194098, 617834, 740368, 420370, 993130, 712673]