【发布时间】:2014-11-27 19:05:19
【问题描述】:
我必须编写一个使用 Python 生成随机密码(使用 ASCII 值和 chr() 函数)的程序,并且我已经让我的程序生成随机密码,但是当程序循环时,它会一直打印相同的随机密码密码,我不知道该怎么做才能修复它。如果有人能给我一些建议,那就太好了,因为我是 python 新手
这是我目前的代码:
import random, string
LNGTH=8
position=0
password=""
start=0
stop=0
while start==stop:
input("would you like a password?")
while position<LNGTH:
x=random.randrange(9)
character=chr(random.randrange(97, 97 + 26))
choice=[str(x),character.upper(),character.lower()]
pass_pos=random.choice(choice)
password=password+pass_pos
position+=1
print(password)
【问题讨论】:
-
只是补充一点,虽然您的问题得到了很好的答案,但您可以通过使用调试器并一次单步执行代码来识别问题。您会立即看到
while语句只运行了一次。显而易见的下一步是检查while上的条件,当您看到position不是您预期的0时。调试器是一种有价值的工具,学习使用它可以为您节省很多痛苦,尤其是在更复杂的代码中。希望对下次有帮助
标签: python python-3.x random