Ripasso - Inventario
Fa parte della sezione Logica e flusso del percorso Swift di Coddy. Lezione 17 di 56.
Sfida
MedioStai monitorando l'inventario del negozio. Leggi una singola riga di input: un elenco di operazioni separate da virgole su un dizionario [String: Int] inizialmente vuoto chiamato stock. Ogni operazione è una delle seguenti:
in:<item>:<qty>aggiunge la quantità all'articolo (usa il modello con valore predefinito per il pedice)out:<item>:<qty>sottrae la quantità. Se la quantità risultante è0o negativa, rimuovi completamente la chiave.
Dopo aver applicato ogni operazione, stampa:
- Una riga per ogni articolo rimanente, in ordine alfabetico, nel formato
<item>: <qty> Total units: <n>sommando tutti i valori rimanenti
Per l'input in:apple:5,in:bread:2,out:apple:3,in:apple:4,out:bread:5, l'output è:
apple: 6
Total units: 6Provalo tu
let ops = readLine()!.components(separatedBy: ",")
var stock: [String: Int] = [:]
// TODO: interpreta ogni op come kind:item:qty; in aggiunge, out sottrae;
// rimuovi le chiavi il cui qty scende a <= 0; stampa le righe ordinate + il totale
Tutte le lezioni di Logica e flusso
1Le stringhe in dettaglio
Conteggio e indiciMaiuscole, minuscole e rimozione degli spaziRicerca nelle stringheSuddivisione e unioneSostituzione di sottostringheRiepilogo - Verifica del nome utente4Insiemi
Creare insiemiUnione e intersezioneDifferenza e differenza simmetricaSottoinsieme e sovrainsiemeRiepilogo - Filtro per tag7Progetto - Tracciatore di abitudini
Panoramica del progettoSegna come completato10Progetto - Motore di quiz
Panoramica del progettoPorre domande2Intervalli e passi
Intervalli chiusi e semiapertiPassoMetodi degli intervalliIntervalli in switchRiepilogo - Griglia del calendario5Funzioni di ordine superiore Parte 1
MapFilterReduceConcatenare map, filter e reduceRiepilogo - Statistiche sulle parole3Dizionari
Dichiarare i dizionariRicerca facoltativaAggiornare i dizionariIterare sui dizionariRaggruppare i valoriRipasso - Inventario6Funzioni di ordine superiore Parte 2
compactMapflatMapsorted(by:)Creare pipelineRiepilogo - ClassificaEsercitati da solo: Playground Swift