Python 在while循环中打印else语句时遇到问题
对于Python来说还是很新的,所以如果这里有什么东西被关闭了,我很抱歉。这是一个程序,您输入一个数字,然后返回一个值。你必须输入一个数字,所以当用户输入一个字符串时,我试图让它说“需要不同的值”。但是,输入周围有一个int(),这意味着在输入字符串时会出现以下错误: ValueError:基数为10的int()的文本无效 我的代码如下:Python 在while循环中打印else语句时遇到问题,python,if-statement,while-loop,Python,If Statement,While Loop,对于Python来说还是很新的,所以如果这里有什么东西被关闭了,我很抱歉。这是一个程序,您输入一个数字,然后返回一个值。你必须输入一个数字,所以当用户输入一个字符串时,我试图让它说“需要不同的值”。但是,输入周围有一个int(),这意味着在输入字符串时会出现以下错误: ValueError:基数为10的int()的文本无效 我的代码如下: while True: OVR = int(input('OVR?')) if OVR == 0: break elif OVR < 50:
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')
为True时:
OVR=int(输入('OVR?'))
如果OVR==0:
打破
elif OVR<50:
打印(0.75米)
elif OVR>=50且OVR<60:
打印('8M')
elif OVR>=60,OVR 70和OVR 82:
打印(“他是山羊,你认为他想要什么?”)
其他:
打印('需要不同的值')
我知道这可能是一个坏主意,有所有这些ELIF,所以我最终将整合成一个公式。如前所述,我的主要目标是这样做,以便在用户输入字符串时打印“需要的不同值”。我考虑过一个try/except语句,但如果我理解正确的话,它们实际上不是用来计算和打印东西的,也不能接受这些elif 将
int
转换包装在try
/块中,但
块除外
while True:
try:
OVR = int(input('OVR?'))
except ValueError:
print('different values needed')
continue
# OVR an integer value, handle it as needed...
您可以使用try/except语句打印消息
try:
OVR = int(input("OVR?"))
except ValueError:
print("different values needed")
见:谢谢你的信息!这似乎是一个非常简单的解决方案,我会在将来记住这一点。看来我只是误解了try/except的用法。谢谢!我最初误解了如何使用try/except语句。是的,没问题。然而,我注意到,当在我的程序中使用这个时,在后面的几行中有算术计算,如果输入字符串,它仍然会返回错误。所以Igor Raush的建议是好的,因为它会一直循环,直到输入一个有效的整数(我相信)。我自己也是python新手!看看这个,我自己问了一个非常类似的问题,回答的人在他的回答中解释了一切。抱歉这么多评论…我现在在平板电脑上,这让我很难过