Python 如何在while循环中处理整数输入
代码意味着永远运行,除非Python 如何在while循环中处理整数输入,python,python-3.x,Python,Python 3.x,代码意味着永远运行,除非index\u input==“Q”。我的问题是因为我在下一行转换为整数,代码失败并将“Q”识别为整数 while True: index_input = input("Enter index to insert element to list (enter Q to quit): ") index_input_int = int(index_input) if (index_input == "Q"): print('Good bye!')
index\u input==“Q”
。我的问题是因为我在下一行转换为整数,代码失败并将“Q”识别为整数
while True:
index_input = input("Enter index to insert element to list (enter Q to quit): ")
index_input_int = int(index_input)
if (index_input == "Q"):
print('Good bye!')
break
elif (index_input_int >= 6):
print('Index is too high')
elif (index_input_int <= -1Q):
print('Index is too low')
为True时:
索引\输入=输入(“输入索引以将元素插入列表(输入Q以退出):”)
索引输入=int(索引输入)
如果(索引输入=“Q”):
打印(“再见!”)
打破
elif(索引输入大于等于6):
打印('索引太高')
elif(index_input_int只需在检查“Q”后将强制转换移动到int,并将所有其他内容放入else块中:
while True:
index_input = input(
"Enter index to insert element to list (enter Q to quit): ")
if (index_input == "Q"):
print('Good bye!')
break
else:
index_input_int = int(index_input)
if (index_input_int >= 6):
print('Index is too high')
elif (index_input_int <= -1Q):
print('Index is too low')
为True时:
索引\输入=输入(
“输入索引以将元素插入列表(输入Q以退出):”)
如果(索引输入=“Q”):
打印(“再见!”)
打破
其他:
索引输入=int(索引输入)
如果(索引输入大于等于6):
打印('索引太高')
elif(index\u input\u int如果您尝试将Q
字符或任何其他字符串转换为整数,它将抛出ValueError
。您可以使用try except
:
while True:
index_input = input("Enter index to insert element to list (enter Q to quit): ")
try:
index_input_int = int(index_input)
except ValueError:
if index_input == "Q":
print('Good bye!')
break
if index_input_int >= 6:
print('Index is too high')
elif index_input_int <= -1:
print('Index is too low')
为True时:
索引\输入=输入(“输入索引以将元素插入列表(输入Q以退出):”)
尝试:
索引输入=int(索引输入)
除值错误外:
如果索引_输入==“Q”:
打印(“再见!”)
打破
如果索引输入大于等于6:
打印('索引太高')
elif index_input_int首先检查Q
,然后进行转换。:)顺便说一句,您可能会对此感兴趣:如果用户只需按enter键,输入行上也可能出现ValueError。