我正在尝试确保用户提供了有效的浮点数作为输入。
run='yes'
valid='no'
x=1
while run == 'yes':
while valid == 'no':
x=float(input('Enter the richter scale you wish to convert:'))
check=isinstance(x,float)
if check == False:
print('Invalid value, re-try:')
valid=yes
float(x)`enter code here`
square=1.5*x+4.8
e=10**square
print(e)
tnt=e/4.184*10**9
print(tnt)
答案 0 :(得分:5)
你需要使用try,除了块。像这样:
x = input('Enter the richter scale you wish to convert:')
try:
x = float(x)
except ValueError:
print("Sorry, that's not a valid float")
我故意在调试之外将调用留给input
,除非这个值可以用于调试目的,以便在input
某些如何抛出异常的情况下,它不是被这个街区抓住了。只有转换为float
才能包含在此块中。