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

在python中将输入限制为仅整数,并显示错误消息,python,error-handling,integer,int,Python,Error Handling,Integer,Int,我在这里有多个输入,但我想将输入限制为仅整数,并在用户输入非输入字符时显示错误消息。并在转到下一项之前,不断要求用户输入正确的值。以下是我的代码: 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 aanta

我在这里有多个输入,但我想将输入限制为仅整数,并在用户输入非输入字符时显示错误消息。并在转到下一项之前,不断要求用户输入正确的值。以下是我的代码:

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;)")
您必须首先将它们作为字符串接受。然后使用
.isdigit()
函数检查它们是否为数字。因为有很多输入,所以创建函数更容易


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

您有三个基本选项:

  • 尝试将输入转换为整数,并让引发的任何错误自然传播。用户将看到一个
    ValueError:invalid literal for int(),以10为基数:

  • 将可能引发异常的代码包装在
    try..except
    块中。这允许您捕捉错误并提出自己的错误

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

    while True:
        try:
            value = int(input('...'))
        except ValueError:
            print('Please enter a valid integer')
            continue
        break
    

  • 您有三个基本选项:

  • 尝试将输入转换为整数,并让引发的任何错误自然传播。用户将看到一个
    ValueError:invalid literal for int(),以10为基数:

  • 将可能引发异常的代码包装在
    try..except
    块中。这允许您捕捉错误并提出自己的错误

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

    while True:
        try:
            value = int(input('...'))
        except ValueError:
            print('Please enter a valid integer')
            continue
        break