如何添加某种形式的验证来阻止用户输入长度小于3的数字或字符串?

问题描述 投票:0回答:1

这是一个大学项目,我已经完成了主要部分,但想对我的老师输入的内容添加某种验证,我知道他会尝试输入随机数字并发送垃圾邮件。我有数字阻塞可以与 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?
python function
1个回答
0
投票

尝试类似:

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
    退出循环并获得满足您条件的值。

这样可以轻松查看您对事物施加的每个条件,并可以根据需要轻松添加条件(例如,您可能也想限制负数长度)。

© www.soinside.com 2019 - 2024. All rights reserved.