Space Python Ładowanie Pythona…

Bezpieczne wczytanie liczby

Napisz kodŁatwy 2 etapy

Inżynier lotu wpisuje długość odpalenia przed następnym manewrem. Pewnego ranka klawiatura miała polski układ, zamiast 12.5 poszło 12,5, a cały program konsolowy zatrzymał się z błędem ValueError.

Spraw, żeby zamiast tego pytał ponownie, tak długo, aż dostanie liczbę, której da się użyć.

Pytaj, dopóki dane nie dadzą się zamienić na liczbę. Dla wszystkiego, co się nie da, wypisz To nie liczba: i to, co wpisano, a potem zapytaj ponownie. Przy odpowiedziach twelve, 12,5 i 12.5 program wypisze:

To nie liczba: twelve
To nie liczba: 12,5
Odpalenie: 12.5 s

Użyj while True:, z float(text) w try, break, gdy się uda, i except ValueError: dla komunikatu. Sprawdzenie nie pokazuje samego pytania, tylko to, co wypisuje program.

Od razu dobra liczba
Zapytaj ponownie po literówce

Ukończ etap 1, aby odblokować ten etap.

Odpalenie trwające 0 albo -5 sekund daje się zamienić, ale nie ma sensu. Odrzucaj je też, z Musi być większa niż 0: i tym, co wpisano. Przy -5, abc, 0 i 12.5 program wypisze:

Musi być większa niż 0: -5
To nie liczba: abc
Musi być większa niż 0: 0
Odpalenie: 12.5 s

Trzymaj try tylko wokół zamiany. W except użyj continue, żeby przejść od razu do następnego pytania; po try sprawdź liczbę.

Odrzucaj złe długości
Literówki nadal obsłużone
Nie jesteś zalogowany, więc postęp zostaje tylko w tej przeglądarce. Zaloguj się, aby go zapisać i korzystać z podpowiedzi oraz rozwiązań.

Podpowiedzi

script.py
PythonWiersz 1, kol. 1Spacje: 4
Ładowanie środowiska Pythona…

Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].