Python 如何使其在输入字符串而不是浮点时打印出来;请输入一个有效的数字";
如果输入的字符串不是浮点数,如何显示错误消息“请输入有效数字”?因为当我输入一个字符串时,我会得到一个错误: ValueError:无法将字符串转换为浮点: 我的代码:Python 如何使其在输入字符串而不是浮点时打印出来;请输入一个有效的数字";,python,Python,如果输入的字符串不是浮点数,如何显示错误消息“请输入有效数字”?因为当我输入一个字符串时,我会得到一个错误: ValueError:无法将字符串转换为浮点: 我的代码: if unknown == 'S': if units in ('si', 'Si'): u = float(input("Enter the initial velocity in m/s :")) v = float(input("Enter the accelerat
if unknown == 'S':
if units in ('si', 'Si'):
u = float(input("Enter the initial velocity in m/s :"))
v = float(input("Enter the acceleration in m/s : "))
t = float(input("Enter seconds : "))
else:
u = float(input("Enter the initial velocity in yards/s :"))
v = float(input("Enter the acceleration in yards/s : "))
t = float(input("Enter the time take in s : "))
S = 0.5 * (u + v) * t
print("S is " , S)
使用
try except
块创建一个简单函数,当出现ValueError
时,打印“请输入有效数字”
例如:
def checkFloat(num):
尝试:
返回浮点(num)
除值错误外:
return“请输入有效数字”
打印(支票浮动('1.23445'))
打印(支票浮动('s'))
您应该执行错误处理
例如:
while True:
try:
your_variable = float(input("Input string"))
break
except:
print("please input a valid number")
输出
could not convert string to float: 'bad string'
Python中的方法可以是“请求原谅比请求许可更好”,因此捕捉错误并循环。这是所有数字输入的常见操作,因此它自然意味着一个辅助功能:
def float_输入(提示):
尽管如此:
尝试:
返回浮动(输入(提示))
除值错误外:
打印('需要编号,请重新输入')
然后您的主代码将如下所示:
if unknown == 'S':
if units.lower() == 'si':
u = float_input("Enter the initial velocity in m/s :")
v = float_input("Enter the acceleration in m/s : ")
else:
u = float_input("Enter the initial velocity in yards/s :")
v = float_input("Enter the acceleration in yards/s : ")
t = float_input("Enter the time taken in s : ")
S = 0.5 * (u + v) * t
print("S is " , S)
您提示的v
错误-根据公式,它应该是最终速度,而不是加速度
if unknown == 'S':
if units.lower() == 'si':
u = float_input("Enter the initial velocity in m/s :")
v = float_input("Enter the acceleration in m/s : ")
else:
u = float_input("Enter the initial velocity in yards/s :")
v = float_input("Enter the acceleration in yards/s : ")
t = float_input("Enter the time taken in s : ")
S = 0.5 * (u + v) * t
print("S is " , S)