如何通过异常处理将输入转换为float

时间:2015-08-27 14:38:56

标签: python python-3.x

我正在尝试确保用户提供了有效的浮点数作为输入。

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)

1 个答案:

答案 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才能包含在此块中。