Porre domande
Fa parte della sezione Logica e flusso del percorso Swift di Coddy. Lezione 50 di 56.
La prima funzionalità: poni ogni domanda in ordine e stampa se ciascuna risposta era corretta.
La banca di domande è codificata direttamente per questa lezione; le risposte del giocatore provengono da stdin (una per riga, in ordine).
let questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "Paris")
]
for (_, text, answer) in questions {
print(text)
let given = readLine()!
print(given == answer ? "correct" : "wrong")
}Leggi dall’alto verso il basso: stampa la domanda, leggi una riga, confronta. La prossima lezione renderà meno rigoroso quel confronto, così non fallirà a causa delle maiuscole o degli spazi superflui.
Sfida
FacileLa raccolta questions è fornita. Leggi tre righe da stdin (le risposte del giocatore, nell’ordine). Per ogni domanda, stampa:
- Il testo della domanda su una riga a sé
correctquando la risposta fornita è esattamente uguale alla risposta memorizzata, altrimentiwrong
Dopo tutte e tre le domande, stampa Score: <n>/3 con il numero di risposte corrette.
Per l’input 4 / Paris / red, l’output è:
2 + 2?
correct
Capital of France?
correct
Color of grass?
wrong
Score: 2/3Provalo tu
let questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "Paris"),
("science", "Color of grass?", "green")
]
// TODO: per ogni domanda, stampa il testo, leggi la risposta, stampa se è corretta o sbagliata;
// poi stampa 'Score: <n>/3'
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
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 paroleEsercitati da solo: Playground Swift