首页 > 解决方案 > 要求用户输入直到正确

问题描述

反复要求用户正确输入的最佳方式是什么?

例如,我想继续检查该a值是否为 anint以及何时最终确定您选择了号码。

我被困在这里:

    try:

      a = int(input())

    except:
       print("incorrect pick a number and try again")


#Somewhere here

print("Ok thanks you finally picked a number")
    

标签: python-3.x

解决方案


您要捕获的唯一例外是ValueError如果int它不能将其参数转换为整数的 raise 。该语句将处于一个循环中,如果您没有收到异常try,您将明确退出该循环。

while True:
    response = input()
    try:
        a = int(response)
    except ValueError:
        print("incorrect pick a number and try again")
    else:
        print("Ok thanks you finally picked a number")
        break

推荐阅读