对于Python来说还是很新的东西,所以我很抱歉这里没有任何内容。这是用于您输入数字并取回值的程序的。您必须输入一个数字,所以当用户输入一个字符串时,我想让它说“需要不同的值”。但是,我在输入周围有一个int(),这意味着在输入字符串时会出现以下错误:


  ValueError:int()以10为底的无效文字


我的代码如下:

while True:
 OVR = int(input('OVR?'))
 if OVR == 0:
   break
 elif OVR < 50:
   print('0.75M')
 elif OVR >= 50 and OVR < 60:
   print('8M')
 elif OVR >= 60 and OVR <= 70:
   print('15M')
 elif OVR > 70 and OVR <= 82:
   print('30M')
 elif OVR > 82:
   print("He's the GOAT, what do you think he wants?")
 else:
   print('different values needed')


我知道拥有所有这些省略号可能不是一个好主意,因此我最终会将其合并为一个公式。如前所述,我的主要目标是我希望这样做,以便在用户输入字符串时打印“所需的不同值”。我考虑过try / except语句,但是如果我正确理解它们,它们实际上并不是用于计算和打印内容,也不能使用这些省略号。

最佳答案

int转换包装在try / except块中。

while True:
    try:
        OVR = int(input('OVR?'))
    except ValueError:
        print('different values needed')
        continue
    # OVR an integer value, handle it as needed...

10-06 08:51