【问题标题】:User input validation using functions使用函数验证用户输入
【发布时间】:2022-01-15 16:03:55
【问题描述】:

我正在尝试创建一个使用异常验证用户输入的函数。

def int_input(message):
while True:
    try:
        x=int(input(f'{message}: '))
        return x
        break
    except:
        print("Enter a valid integer!")
        print()
        continue

a=int_input("请输入数字:") 打印(一)

代码看起来乱七八糟,有没有更好的写法?

【问题讨论】:

  • 您可以使用str.isnumeric 进行检查。我会尽量避免一般情况下的异常,因为继续提高它们的成本有点高,但由于您只是在验证用户输入,我认为性能方面在这里并不重要。
  • 在 Python 中使用异常是非常标准的 (Idiomatic Python: EAFP versus LBYL)。当然在这里你不需要break,因为你在到达那条线之前就返回了,你不需要continue,因为无论如何循环都会继续。

标签: python function exception input


【解决方案1】:

我想这可能对你有帮助!

def int_input():
    while True:
        try:
            input_ = int(input("int: "))
            return input_
        except ValueError:
            print("Enter a valid integer!")
int_input()

【讨论】:

  • 如果您将return 放在try 块中,您可以删除continue。对我来说,这是更清晰的代码。
  • 谢谢,我换回的地方
  • 由于您将return 放置在不同的位置,因此您不再需要continue
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-26
  • 2016-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-11
相关资源
最近更新 更多