Lekcja 6- pętla while; break- Eliza S
Pętla while:
Wykonuj tak długo, aż...
Pętla ta wykonuje się tak długo, aż jakiś warunek jest spełniony
while True: #warunek cały czas jest spełniony
CTRL + C - przerywa nieskończoną pętlę while
Polecenie break:
Przerywa pętlę.
Kwestionariusz- rozwinięcie programu:
from random import shuffle
# wersja po wprowadzeniu struktury danych do przechowania pytan z odpowiedziami i punktacja
# alternatywa
# ułatwia indeksowanie - nie ma potrzeby wyciagniecia klucza
ankieta = [
(
"Która z poniższych metod zabezpieczenia 2FA uznawana jest za najbezpieczniejszą?",
[
("SMS", 0),
("kod z aplikacji (TOTP)", 0),
("klucz sprzętowy", 1),
],
),
(
"Który z poniższych języków programowania uznany został za najpopularniejszych wg rankingu Tiobe 2023?",
[
("Cobol", 0),
("Python", 1),
("Pascal", 0)
],
),
(
"Skrót Iot oznacza:",
[
("Internet of Things (Internet rzeczy)", 1),
("Instrument of Technology", 0),
("Informacje o Technologii", 0)
],
),
(
"Czy kod w Pythonie wymaga ręcznej kompilacji dla każdego z systemów operacyjnych?",
[
("Tak", 0),
("Nie", 1)
],
),
(
"VSCode to:",
[
("edytor tekstu", 1),
("przeglądarka internetowa", 0),
("program do grafiki wektorowej", 0)
],
),
]
wyniki = {}
imie = input("Wprowadz swoje imie: ")
wyniki[imie] = 0
licznik_indeks = 0
pytania = ankieta[licznik_indeks][0]
for licznik_indeks in range(len(ankieta)):
print(ankieta[licznik_indeks][0])
odpowiedzi = ankieta[licznik_indeks][1]
shuffle(odpowiedzi)
if len(odpowiedzi) == 2:
print(f"1. {odpowiedzi[0][0]}")
print(f"2. {odpowiedzi[1][0]}")
else:
print(f"1. {odpowiedzi[0][0]}") #indeks pierwszy [0] odnosi się do pierwszego elementu listy z odpowiedziami ("SMS", 0) a drugi indeks [0] do pierwszego elementu w krotce, czyli konkretnej odpowiedzi tekstowej "SMS"
print(f"2. {odpowiedzi[1][0]}")
print(f"3. {odpowiedzi[2][0]}")
wybor = input("Wprowadz nr odpowiedzi: ")
indeks_wyboru = int(wybor) - 1
wyniki[imie] += odpowiedzi[indeks_wyboru][1]
print(f"\n *********** \n {imie},Twój wynik to: {wyniki[imie]} \n ***********")
```