如何在收到意外输出时不崩溃?

问题描述 投票:0回答:1

我正在学习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()

#如果 x 输入的输出是 0 到 5 之间的数字,则可以正常工作,如果数字超出此限制,则可以正常工作并再次询问,但是当输出没有任何内容或 str 时,它会崩溃,怎么办我让它工作并再次询问?

python string input integer crash
1个回答
0
投票

您可以使用此关键字

try
except
进行错误处理。

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
块中的代码运行没有错误,
try
将结束。如果发生任何错误,则将执行
catch
块,向用户打印警告消息以输入有效的输入。

© www.soinside.com 2019 - 2024. All rights reserved.