Space Python Ładowanie Pythona…

Sprawdź rekord ładunku

Napisz kodŚredni 2 etapy

Rekordy ładunku przychodzą z kilku magazynów, wpisywane przez różne osoby. Zanim pozycja trafi do manifestu, musi przejść kontrolę, a gdy jej nie przejdzie, magazyn musi wiedzieć wszystko, co jest z nią nie tak, a nie tylko pierwszy problem.

Napisz kontrolę jako funkcję, która zbiera problemy, a potem dodaj regułę formatu identyfikatora.

Napisz validate_cargo(item), która zwraca listę problemów: jedno brak pola ... dla każdego pola z REQUIRED, którego rekord nie ma, w tej kolejności, i ujemna masa dla masy poniżej 0. Pętla na dole wypisze wtedy:

CG-0042: OK
CG-0043: brak pola item, ujemna masa
CG-0044: brak pola mass_kg
CG-42: OK

Zacznij od problems = [], dodawaj każdy znaleziony problem i na końcu return problems. Sprawdź, czy "mass_kg" jest, zanim je porównasz.

Sprawdź rekordy
Lista problemów dla każdego rekordu

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

Identyfikatory ładunku mają stały format: CG- i dokładnie cztery cyfry. Dodaj zły format ID do problemów, gdy identyfikator nie pasuje:

CG-0042: OK
CG-0043: brak pola item, ujemna masa
CG-0044: brak pola mass_kg
CG-42: zły format ID

Sprawdź, czy identyfikator zaczyna się od "CG-", ma 7 znaków i czy item["id"][3:].isdigit(). Sprawdzaj tylko identyfikator, który jest.

Sprawdź format identyfikatora
Poprawnie dla każdego identyfikatora
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

Zwracanie słownika lub listy

Funkcje mogą zwracać słowniki, listy i inne złożone struktury. Przydatne do grupowania powiązanych danych.
zwracanie-slownika-listy.py
# Zwracanie złożonych struktur danych

def get_planet_data(name):
    """Zwraca słownik z danymi planety."""
    database = {
        "Mars": {"diameter": 6779, "moons": 2, "type": "skalista"},
        "Jowisz": {"diameter": 139820, "moons": 95, "type": "gazowa"},
        "Saturn": {"diameter": 116460, "moons": 83, "type": "gazowa"}
    }
    return database.get(name, {"error": "Nie znaleziono"})

def generate_schedule(days):
    """Generuje listę dni misji."""
    return [f"Dzień {i+1}" for i in range(days)]

# Użycie
mars = get_planet_data("Mars")
print(f"Mars - księżyce: {mars["moons"]}")

schedule = generate_schedule(5)
print(f"Harmonogram: {schedule}")
Otwórz cały przykład
script.py
PythonWiersz 1, kol. 1Spacje: 4
Ładowanie środowiska Pythona…

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