2017-12-02 19 views
0

화씨를 Clesius 계산기로 만들고 시도를 사용하고 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

귀하의 제외 조항은 사용자의 입력을 요청합니다. 그러나 두 번째 입력은 테스트되지 않습니다. 두 번째 입력이 float 함수에서 사용될 때 입력이 올바르지 않으면 실패합니다.

사용자가 숫자를 입력 할 때까지 입력을 계속하기를 원하면 루프가 필요합니다. 그리고 그 루프 내에서 입력이 숫자 였는지 테스트하기 위해 try-except 절 (또는 다른 테스트)이 필요합니다.