Jautājumu medības: Uzbūvē savu viktorīnu!
Izveido viktorīnu, kurā datorprogramma uzdod jautājumus, piedāvā atbilžu variantus un pārbauda, vai lietotājs ir izvēlējies pareizo atbildi.
1. daļa. Kā saglabāt vienu jautājumu❓
Vispirms izveidosim vienu viktorīnas jautājumu.
Iedomājies, ka programmai jāuzdod šāds jautājums:
- Jautājums: Kura planēta atrodas vistuvāk Saulei?
- Atbilžu varianti: Merkurs, Venera, Marss.
- Pareizā atbilde: Merkurs.
Padomā un atbildi uz jautājumiem!
1. Kādu datu tipu Python izmanto, lai vienā mainīgajā saglabātu vairākas savstarpēji saistītas vērtības, kurām ir piešķirti atslēgu nosaukumi?
2. Vai šajā gadījumā būtu ērti izmantot vārdnīcu?
3. Kādas trīs galvenās informācijas daļas nepieciešams saglabāt par katru jautājumu?
4. Kādu atslēgas nosaukumu varētu izmantot jautājuma tekstam?
5. Kādu atslēgas nosaukumu izmantotu atbilžu variantiem?
6. Kādu atslēgas nosaukumu izmantotu pareizajai atbildei?
**Pārdomā:**
- Kādu datu tipu izmantosi jautājuma tekstam?
- Kādu datu tipu izmantosi atbilžu variantiem?
- Vai pareizajai atbildei jābūt tādā pašā formā kā vienam no atbilžu variantiem?
Praktiskais uzdevums:
Izveido vārdnīcu ar nosaukumu jautajums, kurā saglabā:
- jautājuma tekstu;
- atbilžu variantus;
- pareizo atbildi.
2. daļa. Kā saglabāt vairākus jautājumus?
Lieliski! Tagad tev ir viena jautājuma vārdnīca.
Taču viktorīnā parasti ir vairāki jautājumi. Kā tos visus saglabāt vienuviet?
Padomā un atbildi uz jautājumiem!
1. Kādu datu tipu Python izmanto, lai vienā mainīgajā saglabātu vairākas vērtības noteiktā secībā?
2. Vai sarakstā drīkst glabāt vārdnīcas?
3. Ja katrs jautājums ir aprakstīts ar atsevišķu vārdnīcu, kādā datu struktūrā varētu ievietot visas šīs vārdnīcas?
4. Kādu nosaukumu piešķirtu šim sarakstam?
5. Kā pievienot sarakstam vēl vienu jautājuma vārdnīcu?
**Palīgjautājums:** Ja tev ir saraksts ar vārdnīcām, kā piekļūt konkrētā jautājuma tekstam? Vispirms jāiegūst saraksta elements vai uzreiz jāmeklē vārdnīcas atslēga?
Praktiskais uzdevums:
- Izveido sarakstu
jautajumi.
- Pievieno tam vismaz trīs jautājumu vārdnīcas.
- Pārliecinies, ka katrā vārdnīcā ir visas nepieciešamās informācijas daļas.
- Izmantojot ciklu, izdrukā visus jautājumus un to atbilžu variantus.
3. daļa. Lai sākas viktorīna! 🎯
Tagad izveidosim programmu, kas secīgi uzdod jautājumus.
Padomā un atbildi uz jautājumiem!
1. Kā var iegūt pirmo elementu no saraksta?
2. Kā var piekļūt jautājuma tekstam, kas saglabāts vārdnīcā?
3. Kā var izvadīt visus atbilžu variantus?
4. Kā Python var iegūt lietotāja ievadīto atbildi?
5. Kā pārbaudīt, vai lietotāja atbilde sakrīt ar vārdnīcā saglabāto pareizo atbildi?
6. Kādu ciklu izmantosi, lai programma izietu cauri visiem jautājumiem?
Praktiskais uzdevums:
Papildini savu programmu, lai tā:
- uzdod katru jautājumu pēc kārtas;
- parāda atbilžu variantus;
- ļauj lietotājam ievadīt atbildi;
- pārbauda atbildes pareizību;
- paziņo, vai atbilde ir pareiza vai nepareiza.
Papildu izaicinājums: Izveido mainīgo punkti, kurā uzkrāj pareizo atbilžu skaitu.
4. daļa. Jautājumu izloze – lai katru reizi būtu citādi!
Viktorīna jau darbojas, bet vai nebūtu interesantāk, ja jautājumi katrā spēles reizē parādītos citā secībā?
Python ir pieejams modulis random, kas ļauj veikt nejaušas izvēles.
Padomā un atbildi uz jautājumiem!
1. Kādu Python moduli nepieciešams importēt, lai izmantotu nejaušas izvēles?
2. Vai no saraksta iespējams nejauši izvēlēties vienu elementu?
3. Kādu `random` moduļa funkciju varētu izmantot, lai izvēlētos vienu nejaušu jautājumu no saraksta?
4. Kā iegūto jautājumu varētu izmantot kopā ar iepriekš izveidoto viktorīnas loģiku?
5. Ja jautājumu izvēlas nejauši, vai programmai obligāti jāizpilda visi jautājumi?
Praktiskais uzdevums:
Papildini programmu tā, lai tā:
- nejauši izvēlas vienu jautājumu no jautājumu saraksta;
- parāda jautājumu un atbilžu variantus;
- ļauj lietotājam atbildēt;
- pārbauda atbildes pareizību.
Papildu izaicinājums: Panāc, lai programma nejauši izvēlētos trīs dažādus jautājumus un spēles laikā tie neatkārtotos!
5. daļa. Pārbaudi savu viktorīnu!
Pirms darba nodošanas pārliecinies, ka vari izpildīt šos nosacījumus.
- [✔️] Esmu izveidojis jautājuma vārdnīcu ar jautājumu, atbilžu variantiem un pareizo atbildi.
- [✔️] Esmu izveidojis sarakstu, kurā glabājas vismaz trīs jautājumu vārdnīcas.
- [✔️] Protu piekļūt vārdnīcas vērtībām, izmantojot atslēgas.
- [✔️] Programma secīgi uzdod jautājumus un pārbauda atbildes.
- [✔️] Programma uzskaita iegūtos punktus.
- [✔️] Esmu izmantojis
random moduli, lai izvēlētos nejaušu jautājumu.
- [✔️] Esmu pārbaudījis, vai viktorīna darbojas korekti.