如何阻止用户在random.sample调用中输入0



我试图从列表中随机选择一个字符串,但在阻止用户从列表中获取0项目时遇到问题。

import random
Uppercase = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
def pick():
while True:
try:
UCL = random.sample(Uppercase, k=int(input("How many uppercase letters do you want in your password(Pick a number between 1 and 26)?: ")))
break
except ValueError:
print("Please give an Number")
continue

您需要检查输入的数字是否为零(或为负数(。

k=int(input("How many uppercase letters do you want in your password(Pick a number between 1 and 26)?: ")
if k<=0:
print('Invalid number, try agian')
continue

您可以从输入数据中引发验证错误并继续循环。您可能需要加入check-break子句来停止无限循环


import random
Uppercase = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
def pick():
while True:
try:
val =int(input("How many uppercase letters do you want in your password(Pick a number between 1 and 26)?: "))
if val == 0:
print('Select another no')
raise ValueError 
UCL = random.sample(Uppercase, val)
break
except ValueError:
print("Please give an Number")
continue

最新更新