Zusammenfassung – Inventar
Teil des Abschnitts Logik & Kontrollfluss der Swift-Journey von Coddy — Lektion 17 von 56.
Aufgabe
MittelSie verfolgen den Lagerbestand eines Geschäfts. Lesen Sie eine einzelne Eingabezeile ein: eine durch Kommas getrennte Liste von Operationen für ein anfangs leeres [String: Int] namens stock. Jede Operation ist eine der folgenden:
in:<item>:<qty>fügt die Menge zum Artikel hinzu (verwenden Sie das Default-Subscript-Muster)out:<item>:<qty>subtrahiert die Menge. Wenn die resultierende Menge0oder negativ ist, entfernen Sie den Schlüssel vollständig.
Nachdem Sie jede Operation angewendet haben, geben Sie Folgendes aus:
- Eine Zeile pro verbleibendem Artikel, alphabetisch sortiert, im Format
<item>: <qty> Total units: <n>über alle verbleibenden Werte hinweg
Für die Eingabe in:apple:5,in:bread:2,out:apple:3,in:apple:4,out:bread:5 lautet die Ausgabe:
apple: 6
Total units: 6Probier es selbst
let ops = readLine()!.components(separatedBy: ",")
var stock: [String: Int] = [:]
// TODO: Jede Operation als Art:Gegenstand:Menge parsen; in addiert, out subtrahiert;
// Schlüssel entfernen, deren Menge auf <= 0 fällt; sortierte Zeilen + Summe ausgeben
Alle Lektionen in Logik & Kontrollfluss
1Strings im Detail
Zählen und IndizesGroß-/Kleinschreibung und TrimmenSuchen in StringsTeilen und ZusammenfügenTeilstrings ersetzenWiederholung – Benutzernamen-Check4Mengen
Mengen erstellenVereinigung und SchnittmengeDifferenz und symmetrische DifferenzTeilmenge und ObermengeRückblick – Tag-Filter7Projekt - Habit Tracker
ProjektübersichtAls erledigt markieren2Bereiche & Schrittweiten
Geschlossen vs. halboffenSchrittweiteRange-MethodenRanges in SwitchRückblick – Kalender-Grid5Funktionen höherer Ordnung Teil 1
MapFilterReduceVerkettung von map, filter, reduceRückblick – Wortstatistiken3Dictionaries
Dictionaries deklarierenOptionaler LookupDictionaries aktualisierenÜber Dictionaries iterierenWerte gruppierenZusammenfassung – Inventar6Funktionen höherer Ordnung Teil 2
compactMapflatMapsorted(by:)Pipelines erstellenZusammenfassung – Bestenliste