2017-12-02 15 views
0

Chesius計算機に華氏を作成し、tryを使用してValueError以外の関数を使用するよう割り当てられましたが、間違った値を複数回入力することはできません。私はユーザーが文字ではなく数字を入力したい。これは私のコードは、今、私は一般的には、プログラミングに新しいですし、あなたは簡単に説明できる場合Python:ValueErrorが一度しか動作しない以外は試してみてください

をクラッシュプログラムをせずに文字列を複数回入力することを可能にする方法をいただければ幸いです

print("Hej och välkommen till Fahrenheit omvandlaren") 
Fahrenheit = (input("Vänligen ange grader i Fahrenheit: ")) 

try: 
    test = float(Fahrenheit) 

except ValueError: 
    Fahrenheit = (input("Vänligen ange ett tal!")) 

Celsius = (float(Fahrenheit)-32)*5/9 
print(Fahrenheit, "Fahernheit är lika med",(round(Celsius,2)),"grader Celsius") 

どのように見えるかです

+0

例外を発生させる可能性のある「except」ブロックにコードを入れないようにしてください。 –

答えて

1

あなたは、ループ内の入力を置くことができます。

while True: 
    fahrenheit = (input("Vänligen ange grader i Fahrenheit: ")) 
    try: 
     test = float(fahrenheit) 
     break 
    except ValueError: 
     pass 
0

あなた除く句は、ユーザからの入力を要求します。しかし、2番目の入力はテストされません。 したがって、2番目の入力がfloat関数で使用されている場合、入力が正しくないと失敗します。

数字を入力するまで入力を続けたい場合は、ループが必要です。 そのループの中で、入力が数値だったかどうかをテストするためにtry-except句(または他のテスト)が必要になります。

関連する問題