# Zadanie - kwestionariusz
import random
quiz = [
{
"pytanie": "Jaki był pierwszy produkt firmy Sony?",
"odpowiedzi": [
("Radio tranzystorowe", 0),
("Ryżowy garnek elektryczny", 1),
("Telewizor przenośny", 0),
],
},
{
"pytanie": "Która firma stworzyła pierwszą mysz komputerową?",
"odpowiedzi": [
("IBM", 0),
("Xerox", 1),
("Apple", 0),
],
},
{
"pytanie": "W którym roku powstał pierwszy e-mail?",
"odpowiedzi": [
("1971", 1),
("1981", 0),
("1991", 0),
],
},
{
"pytanie": "Ile ważył pierwszy dysk twardy firmy IBM z 1956 roku o pojemności 5 MB?",
"odpowiedzi": [
("1 tona", 1),
("200 kg", 0),
("50 kg", 0),
],
},
{
"pytanie": "Który język programowania został stworzony najwcześniej?",
"odpowiedzi": [
("Python", 0),
("C", 1),
("Java", 0),
],
},
]
# Baza - użyj pętli do wyświetlenia pytań.
# Użyj pętli `for` żeby wyświetlić użytkownikowi pytania i możliwe warianty odpowiedzi.
# prefix = ["a. ", "b. ", "c. "]
# for i, pytania in enumerate(quiz):
# print(f"{i+1}. {pytania["pytanie"]}")
# for j, odpowiedzi in enumerate(pytania["odpowiedzi"]):
# if odpowiedzi[1] > 0:
# sufix = "🟢"
# else:
# sufix = ""
# print(f"{prefix[j]}{odpowiedzi[0]} {sufix}")
# Krok 1 - dodaj losową kolejność odpowiedzi
# Skorzystaj z biblioteki `random` i dostępnej w niej funkcji `shuffle` do przemieszania kolejności odpowiedzi. Jeśli masz nr / literkę odpowiedzi dodaną w jej treści - na razie nie przejmuj się tym. Na tym etapie jeszcze nie liczymy też pkt. - zajmujemy się jedynie wyświetlaniem zawartości.
prefix = ["a. ", "b. ", "c. "]
randomowa_kolejnosc_odpowiedzi = list()
for i, pytania in enumerate(quiz):
print(f"{i+1}. {pytania["pytanie"]}")
print((pytania["odpowiedzi"]))
random.shuffle(pytania["odpowiedzi"])
print(pytania["odpowiedzi"])
# /randomowa_kolejnosc_odpowiedzi = random.shuffle(pytania["odpowiedzi"])
break
for j, odpowiedzi in enumerate(randomowa_kolejnosc_odpowiedzi):
if odpowiedzi[1] > 0:
sufix = "🟢"
else:
sufix = ""
print(f"{prefix[j]}{odpowiedzi[0]} {sufix}")
# Co dalej?
# Dążymy do tego, żeby w pętli obsłużyć też zliczanie punktów. Jakie kłopoty na tym etapie widzę?
# - jeśli pomieszam kolejność odpowiedzi to jak przypisywać to co wpisał użytkownik z punktacją (czyli np. "a" nie będzie już na pierwszej pozycji tylko np. na trzeciej - co z tym zrobić)?
# - co zrobić żeby "pomieszać" też pytania?
# - dobrze by było na początku poprosić użytkownika o imię etc. Jakiej struktury danych do tego moglibyśmy użyć?