python - 简单的Python输入错误

标签 python validation input int

我正在尝试编写代码来编辑列表并使其成为回文。

一切正常,除了我的输入仍然给我一个错误。当我在 get_number_2 中输入非整数时,它崩溃了。

def get_number():
    num = raw_input("Please enter number between 100,000 and 1,000,0000: ")
    if not num.isdigit():
        print "---------------------------"
        print "Invalid input: numbers only"
        print "---------------------------"
        my_main()
    else:
        return num

def get_number_2(n):
    num = input("Please confirm the number you have entered: ")
    if num != int(n):
        print "--------------------"
        print "Entries do not match"
        print "--------------------"
        my_main()
    else:
        return num

我将来自 get_number_2 的输入用于其余代码,因为当我检查它是否介于两个数字之间时 get_number 不起作用。

有什么方法可以验证 get_number_2 中的输入是否为 int,以便我可以摆脱 get_number

最佳答案

编写处理异常的程序。如果用户输入无效整数,它会抛出 ValueError 异常:

try:
    a = int(b)
except ValueError:
    print "Unable to interpret your input as a number"

您必须像这样更新您的问题:

def get_number_2(n):
    num = input("Please confirm the number you have entered: ")
    try:
        if num != int(n):
            print "--------------------"
            print "Entries do not match"
            print "--------------------"
            my_main()
        else:
            return num
    except ValueError:
        print "Unable to interpret your input as a number"

关于python - 简单的Python输入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33286034/

相关文章:

HTML:光标显示在只读输入文本中?

python - 像Python中的正则表达式一样替换ACD|BCD

python - 仅访问嵌套字典列表中的一个键并使用 matplotlib 绘制它

Javascript RegExp 仅允许某些位置出现某些字符

java - Spring MVC 中 Errors 对象的模型键是什么?

javascript - 为什么我的函数一直从我的输入文本字段读取输入?

c++ - 读入不同类型的行

python - OpenCV_TypeError : 'NoneType' object has no attribute '__getitem__'

python - vtk.vtkRenderer() 导致段错误 :11

asp.net-mvc - 使用 viewmodel 时的 asp.net mvc 验证