Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在while循环中处理整数输入_Python_Python 3.x - Fatal编程技术网

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。