Space Python Ładowanie Pythona…

Masa według kategorii

Napisz kodŚredni 2 etapy

Planiści załadunku nie potrzebują każdej pozycji: muszą wiedzieć, ile waży każdy rodzaj ładunku, bo żywność, podtrzymanie życia i części zapasowe trafiają na różne regały z różnymi limitami masy.

Zsumuj manifest według kategorii, a potem uszereguj kategorie według masy.

Zsumuj masę każdej kategorii w słowniku o nazwie totals, a potem wypisz każdą kategorię z jej sumą, w kolejności pierwszego pojawienia się kategorii:

podtrzymanie życia: 49.8 kg
części zapasowe: 2.4 kg
żywność: 67.0 kg
załoga: 3.4 kg

Zacznij od totals = {}. Dla każdego rekordu totals.get(category, 0) daje dotychczasową sumę albo 0 dla kategorii jeszcze niewidzianej; dodaj masę rekordu i zapisz z powrotem pod kategorią.

Sumuj według kategorii
Słownik sum, dowolny manifest

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

Wypisz kategorie od najcięższej do najlżejszej, każdą z jej udziałem w całym ładunku, zaokrąglonym do pełnego procenta:

żywność: 67.0 kg (55%)
podtrzymanie życia: 49.8 kg (41%)
załoga: 3.4 kg (3%)
części zapasowe: 2.4 kg (2%)

sorted(totals, key=totals.get, reverse=True) daje kategorie uporządkowane według ich sum. sum(totals.values()) to cały ładunek.

Uszereguj kategorie
Działa dla każdego manifestu
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

Modyfikowanie słowników

Dodawanie przez przypisanie nowego klucza. del usuwa element. pop() usuwa i zwraca wartość. update() dodaje wiele par naraz.
modyfikowanie-slownikow.py
# Modyfikowanie słowników

planet = {"name": "Mars", "moons": 2}

# Dodawanie nowego klucza
planet["diameter"] = 6779
print("Po dodaniu:", planet)

# Zmiana wartości
planet["moons"] = 3  # Pomyłka - poprawmy
planet["moons"] = 2
print("Po zmianie:", planet)

# Usuwanie elementu
del planet["diameter"]
print("Po del:", planet)

# pop() - usuwa i zwraca wartość
moons = planet.pop("moons")
print("Usunięte księżyce:", moons)
print("Pozostało:", planet)

# update() - dodaje wiele elementów
planet.update({"type": "skalista", "rings": False})
print("Po update:", planet)
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:].