Python 3.x 打印空列表
为什么“字母”是空的?在Python 3.x 打印空列表,python-3.x,Python 3.x,为什么“字母”是空的?在print(letters)之前的一行中,我只将chars中的字母字符分配给字母,可能这是错误的语法 那 def password_generator(): # generates a password chars = string.ascii_lowercase + string.ascii_uppercase + string.digits + string.punctuation password = '' streng
print(letters)
之前的一行中,我只将chars中的字母字符分配给字母,可能这是错误的语法 那
def password_generator(): # generates a password
chars = string.ascii_lowercase + string.ascii_uppercase + string.digits + string.punctuation
password = ''
strength = input("What would you like your password strength to be?(weak/medium/strong) ")
if strength == "weak":
letters = [elem for elem in chars.split() if chars.isalpha()]
print(letters)
#for elem in range(10):
# password += random.choice(letters)
return password
毫无意义chars.split()
您的条件chars.isalpha()
为false:它适用于整个字符集
你可能是说:
letters = [elem for elem in chars.split() if chars.isalpha()]
如果您希望字母能够对其执行随机
,您可以执行以下操作:
letters = [elem for elem in chars if elem.isalpha()]
演示:
那
毫无意义chars.split()
您的条件chars.isalpha()
为false:它适用于整个字符集
你可能是说:
letters = [elem for elem in chars.split() if chars.isalpha()]
如果您希望字母能够对其执行随机
,您可以执行以下操作:
letters = [elem for elem in chars if elem.isalpha()]
演示:
如果你只想要字母中的字母,为什么不这样做呢
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
如果你只想要字母中的字母,为什么不这样做呢
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
你可能是说如果elem.isalpha()
毫无意义:chars
不需要拆分,而且您的条件始终为false,因为chars
包含符号。