如果用户输入不是整数,Python 3将创建错误

u2nhd7ah  于 2023-01-03  发布在  Python
关注(0)|答案(3)|浏览(132)

我有下面的代码工作的方式,我希望它。我如何添加一个错误,如果用户没有输入一个整数?

userdata = input("Input the number of numbers to be stored :")

userNumz = []          

print("Input " + str(userdata) + " numbers :")  
for index in range(int(userdata)):
    userNumz.append(input(str(index) + " is "))

我尝试使用ValueError,但无法让它工作。我的尝试如下:

while True
    try:
        userdata = input("Input the number of numbers to be stored :")
    except ValueError:
        print("The input was not a valid integer.)
wmtdaxz3

wmtdaxz31#

如果您将输入强制转换为int,那么它将抛出您想要的错误:

while True
    try:
        userdata = int(input("Input the number of numbers to be stored :"))
    except ValueError:
        print("The input was not a valid integer.)
vwkv1x7d

vwkv1x7d2#

代码:

要在无效的转换尝试时调用错误:

userdata = int(userdata)

在上下文中:

while True
    try:
        userdata = input("Input the number of numbers to be stored :")
        userdata = int(userdata)
    except ValueError:
        print("The input was not a valid integer.)
bwitn5fc

bwitn5fc3#

用户输入将是字符串,因此当您尝试将其转换为int时,如果用户给了您一个字母或单词,则会得到ValueError。

def get_int():
    userdata = input("Enter an int, or 'q' to quit: ")
    if userdata == 'q':
        return None
    try:
        user_num = int(userdata)
        return user_num
    except ValueError:
        print("I need an integer to continue.")
        return(get_int())

user_number = get_int()

这个函数会一直循环,直到用户输入一个int或者用'q'退出。下面几行将处理返回的数字(或者None对象,如果他们退出的话)。

相关问题