收到意外输出时如何不崩溃?[复制]

How to not crash when receiving an unexpected output? [duplicate]

提问人:raposo 提问时间:8/10/2023 最后编辑:ewokxraposo 更新时间:8/10/2023 访问量:34

问:

我正在学习 python,并且反对我创建小程序,我经常发现的一个错误是无法将答案限制为数字输入。当在我的要求中回答一个数字时,它可以正常工作,但是当除了数字之外什么都没有或任何东西是输入的输出时,当我打算再次询问时,它就会崩溃。

#EXAMPLE

def ask(x):

    return int(float(input(x)))

def main():

    x = ask("NUMBER FROM 0 TO 5: ")

    while x > 5 or x < 0 :

        x = ask("PLEASE INPUT A NUMBER FROM 0 TO 5")

    print(x)

main()

#If x 输入的输出是 0 到 5 之间的数字,它工作正常,如果一个超出此限制的数字,它可以正常工作并再次询问,但是当输出什么都没有或一个 str 时它会崩溃,我怎样才能让它工作并再次询问?

Python 字符串 输入 整数 崩溃

评论


答:

0赞 Muhammad Ikhwan Perwira 8/10/2023 #1

您可以对此关键字和 使用错误处理。tryexcept

def ask(x):
  return int(float(input(x)))

def main():
  while 1:
    try:
      x = ask("NUMBER FROM 0 TO 5: ")
      while x > 5 or x < 0 :
        x = ask("PLEASE INPUT A NUMBER FROM 0 TO 5")
      break
    except:
      print("Please input valid input such as integer or float!")

  print(x)

if __name__ == '__main__':
  main()

请注意,如果块中的代码工作没有错误,则循环将以关键字结束。如果发生任何错误,则将执行块,向用户打印警告消息以输入有效输入。while 1:breaktrybreakcatch