【发布时间】:2019-01-22 21:48:31
【问题描述】:
我有这个完全可以正常工作的单线。
import random
from string import ascii_letters, digits
def pwd_generator(pwd):
password = "".join([random.choice(ascii_letters + digits) for i in range(pwd)])
print(password)
我现在想把它翻译成一个“正常”的 for 循环。
def pwd_generator(pwd):
password = ''
for i in range(pwd):
password.join([random.choice(ascii_letters + digits)])
print(password)
然而,在这种情况下,password 是空的。
当我尝试将变量写入“正确”的 for 循环时,为什么它是空的?
【问题讨论】:
-
你在做两件不同的事情。
join返回一个值,而在第二个示例中你什么也没做。 -
你没有分配值从 join 到任何东西 - 所以它的回报丢失了......
标签: python python-3.x for-loop random