这是一个大学项目,我已经完成了主要部分,但想对我的老师输入的内容添加某种验证,我知道他会尝试输入随机数字并发送垃圾邮件。我有数字阻塞可以与 while 循环一起使用,但不知道从这里到哪里去还包括阻塞短于 3 个字母的字符串,而不会让我的代码变得混乱
我尝试过定义一个变量,但并不真正知道该怎么做。像这样的东西会起作用吗?
if variable.isdigit() or len(variable) <= 3 == True:
print("That's not a valid input!")
print(f"{name}, what is your favourite animal?
尝试类似:
while (True):
# get user input
variable = input("Enter an integer < 1000: ")
# make sure we have an integer by attempting to convert
try:
variable = int(variable)
except:
print("Please enter an integer")
continue
# make sure integer in expected range
if variable >= 1000:
print("Integer is too large, should be < 1000")
continue
# success
break
基本上,您会停留在 while 循环中,直到对输入满意为止:
continue
,然后返回顶部要求更好的输入。break
退出循环并获得满足您条件的值。这样可以轻松查看您对事物施加的每个条件,并可以根据需要轻松添加条件(例如,您可能也想限制负数长度)。