我是编程/脚本编程的新手,只是为了理解python2.7工作的基础知识。无论如何,我在这里有一个脚本,我一直在努力随机生成一个由字母,数字和特殊字符组成的密码。
import random
charset="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
charset+=charset.lower() # adds lowercase a-z to charset
charset+="@&%_$#" # adds these special characters to the charset
charset+="1234567890" # adds digits 0-9 to charset
def generate_password(length):
"""generates random password"""
password=[]
for n in range(length):
password.append(random.choice(charset))
print password
return password
def main():
# test cases
length = 4
# boilerplate
if __name__ == '__main__':
main()
请原谅,如果这似乎是一个愚蠢的问题,但我毕竟是新的:(。当我运行上面的脚本时,我没有收到任何输出以及没有错误消息导致我不知道我做错了什么!
答案 0 :(得分:5)
这是因为你的main()函数没有做任何事情。将其更改为:
def main():
# test cases
length = 4
#
print generate_password(length)
# boilerplate
if __name__ == '__main__':
main()
答案 1 :(得分:3)
import random
charset="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
charset+=charset.lower() # adds lowercase a-z to charset
charset+="@&%_$#" # adds these special characters to the charset
charset+="1234567890" # adds digits 0-9 to charset
def generate_password(length):
password=[]
for n in range(length):
password.append(random.choice(charset))
print password
return password
def main():
length = 4
generate_password(length)
if __name__ == '__main__':
main()
首先你没有任何缩进(可能是复制和粘贴问题)。然后你从来没有调用generate_password所以除了将长度设置为4之外,它从未做过任何事情。