Space Python Ładowanie Pythona…

Jasne komunikaty błędów

Napisz kodŚredni 2 etapy

Skrypt planowania zapytał fuel_needed() o odpalenie trwające -5 sekund, po błędzie znaku gdzieś wcześniej, i dostał -62.5 kg. Nikt tego nie zauważył, dopóki w budżecie paliwa nie zabrakło 62.5 kg.

Funkcja, która dostaje wartość, z którą nie może pracować, powinna to powiedzieć, głośno i wyraźnie, w chwili, gdy to się dzieje.

Spraw, żeby fuel_needed() zgłaszała ValueError dla ujemnej długości odpalenia, z komunikatem pokazującym wartość, żeby wywołania pod nią wypisały:

500.0
Odmowa: długość odpalenia nie może być ujemna: -5 s

Napisz raise ValueError(f"długość odpalenia nie może być ujemna: {burn_s} s") w if, przed obliczeniem. Odpalenie przez 0 sekund jest dozwolone.

Odmów dla ujemnej długości
Komunikat, który pomaga

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

Długość odpalenia wczytana z pliku przychodzi jako tekst "40", a funkcja zatrzymuje się mylącym TypeError z porównania. Najpierw sprawdź typ i zgłoś własny TypeError, podając typ, który przyszedł:

500.0
Odmowa: długość odpalenia nie może być ujemna: -5 s
Odmowa: długość odpalenia musi być liczbą, a jest str

Użyj if not isinstance(burn_s, (int, float)): i type(burn_s).__name__ dla nazwy typu. To sprawdzenie musi stać przed burn_s < 0, czyli linią, która zawodzi dla tekstu.

Odmów dla tekstu
Właściwy błąd dla każdego problemu
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:].