在python中将输入限制为整数并显示错误消息

2024-04-29 09:30:48 发布

您现在位置:Python中文网/ 问答频道 /正文

这里有多个输入,但我想将输入限制为整数,并在用户输入非输入字符时显示错误消息。继续要求用户在进入下一个之前输入正确的值物品。这里我的代码是:

print ("welkom bij de munten teller")

cent= int(input("vul het aantal 1 centjes in: "))
stuiver= int(input("vul het aantal stuivers in: "))
dubbeltje= int(input("vul het aantal dubbeltjes in: "))
kwartje= int(input("vul het aantal kwartjes in: "))
SRD= int(input("vul het aantal 1 SRD's in: "))
dalla= int(input("vul het aantal 2,50's in: "))

totaal = int ()

fin_cent= cent * 0.01
fin_stuiver = stuiver* 0.05
fin_dubbeltje = dubbeltje * 0.10
fin_kwartje = kwartje * 0.25
fin_SRD = SRD*1
fin_dalla = dalla * 2.50

totaal = fin_cent + fin_stuiver + fin_dubbeltje + fin_kwartje + fin_SRD + fin_dalla
print ("Het totaal is: ", totaal)
#print (totaal)

input("Druk op enter om het programma te beindigen;)")

Tags: ininputcentintprintfinhetsrd
2条回答

您有三个基本选项:

  1. 尝试将输入转换为整数,并让引发的任何错误自然传播。将向用户显示一个ValueError: invalid literal for int() with base 10: <your input>

    value = int(input('...'))
    
  2. 将可能引发异常的代码包装在try..except块中。这允许您捕捉错误并提出自己的错误。在

    try:
        value = int(input('...'))
    except ValueError:
        raise ValueError('Make sure you input integers')
    
  3. try块包装在一个循环中,这样它就会一直询问直到得到正确的输入

    while True:
        try:
            value = int(input('...'))
        except ValueError:
            print('Please enter a valid integer')
            continue
        break
    
cent= getInt("vul het aantal 1 centjes in: ")
stuiver= getInt("vul het aantal stuivers in: ")

def getInt(msg):
    var = input(msg)
    if not var.isdigit():
        print("Number Only")
        exit()
    return int(var)

你必须先接受它们作为字符串。然后检查它们是否是数字或者没有使用.isdigit()函数。因为有很多输入,所以创建一个函数更容易。在

相关问题 更多 >