【发布时间】:2012-01-13 10:42:46
【问题描述】:
import random
possible = '0123456789abcdefghijklmnopqrstuvwxyz'
i = 0
token = ''
while i<10:
temp = random.choice(possible)
print temp
token = token + temp
i=i+1
print temp
但它只打印最后一个随机抽取的字符。
print temp 可以正确显示十个字符。
【问题讨论】:
-
你可能想在最后一行
print token -
除了错误,还有一种更简单的方法来做你想做的事:
''.join( random.choice(possible) for _ in range(10) ) -
(一般来说,如果你在 Python 中手动增加循环控制变量,你几乎肯定做错了。)
-
@Wooble,为什么在 Python 中增加循环控制变量是错误的?
-
这不是pythonic;使用
for i in xrange(how_many_times):而不是 while 循环。