我一直在试着做一个圆面积计算器,我已经掌握了基本知识。但是如果用户输入类似5m
的内容,那么我会看到一个错误。我想返回“enteranumber”,而不是返回错误退出。这是我的密码。在
from math import pi
r = float(input("Input the radius of the circle : "))
print("The area of the circle with radius " + str(r) + " is: " + str(pi * r**2))
if r==(str):
print("Enter a Number")
您可以反复询问,直到输入可以转换为浮点的字符串。您可以通过捕捉
ValueError
来检测将字符串转换为float的失败,这是类型转换失败时引发的异常。在请在当前包含
input
调用的行中执行此操作,并删除r == (str)
测试,该测试实际上不会执行任何与您的预期接近的操作。在另外请注意,如果使用Python2,则需要
raw_input
函数,而不是input
。在这个在这里
没有做你期望的事。在
您希望使用
^{pr2}$string
模块进行此检查(请注意,在尝试将输入转换为浮点之前,应先完成此操作):或者字符串对象上有一个方法用于此检查:
但还有更好的方法:
这说明了如何处理无效输入。在得到有效的输入之前,您可能需要将其放入一个循环中。在
相关问题 更多 >
编程相关推荐