【发布时间】:2019-09-13 21:18:22
【问题描述】:
我尝试了列表理解,但显然我失败了。有人可以帮忙吗?
我在 Windows 10 上使用 python 3.7,但我对为什么我的代码不起作用感到困惑
import random
import lists # includes the lists in the __init__ method
class PassGen:
def __init__(self):
password = []
self.vowel_list = lists.vowel_list
self.consonant_list = lists.consonant_list
self.number_list = lists.number_list
self.symbol_list = lists.symbol_list
#self.characters = characters
chars = str(input("How many characters do you want?\n"))
for i in range(int(chars)):
for i in range(len(chars)):
password += self.vowel_list[random.randint(0, len(self.vowel_list))]
password += self.consonant_list[random.randint(0, len(self.consonant_list))]
password += self.symbol_list[random.randint(0, len(self.symbol_list))]
password += self.number_list[random.randint(0, len(self.number_list))]
print(len(chars))
end_pass = ""
for i in password:
end_pass += i
print(str(end_pass))
def main():
#characters = str(input("How many characters do you want your password to be?\n"))
passWord = PassGen()
if __name__ == "__main__":
main()
【问题讨论】:
-
请提供完整的回溯。
-
请注意,
randint可以返回等于上限的数字。上限不是排他性的。 -
我正在尝试创建一个非常简单的密码生成器应用程序,但仍然不明白为什么会出现列表索引超出范围错误
标签: python list for-loop list-comprehension