Dalsza praca nad kwestionariuszem
- Struktura danych wygląda następująco:
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)
]
)
]
- Wyświetlanie pytań kwestionariusza:
for zestaw in ankieta:
print(zestaw[0])
# tutaj z zastosowaniem zmiennych
for zestaw in ankieta:
pytanie = zestaw[0]
odpowiedzi = zestaw[1]
print(pytanie)
- Wyświetlanie dla każdego pytania wszystkich możliwych odpowiedzi
for zestaw in ankieta:
print(zestaw[0])
for odpowiedzi in zestaw[1]:
print(odpowiedzi[0])
print("\n---------------------\n")
# druga wersja z zastosowaniem zmiennych:
for zestaw in ankieta:
pytanie = zestaw[0]
odpowiedzi = zestaw[1]
print(pytanie)
for odpowiedz in odpowiedzi:
print(odpowiedz[0])
print("\n---------------------\n")
- Dodajemy automatyczną numerację do odpowiedzi (narazie od 0 - żeby pokryło się z indeksem)
for zestaw in ankieta:
print(zestaw[0])
numer_odp = 0
for odpowiedzi in zestaw[1]:
print(f"{numer_odp}. {odpowiedzi[0]}")
numer_odp += 1
print("\n---------------------\n")
- Wypisanie odpowiedzi użytkownika i zliczanie punktów (skorzystanie ze znaku wprowadzonego przez użytkownika jako indeksu):
punkty = 0
for zestaw in ankieta:
print(zestaw[0])
numer_odp = 0
for odpowiedzi in zestaw[1]:
print(f"{numer_odp}. {odpowiedzi[0]}")
numer_odp += 1
odpowiedz_uzytkownika = int(input("Wprowadź znak odpowiedzi: "))
# print(odpowiedz_uzytkownika)
ilosc_punktow = zestaw[1][odpowiedz_uzytkownika][1]
print(f"Otrzymane punkty to: {ilosc_punktow}")
punkty += ilosc_punktow
print("\n---------------------\n")
print(f"W sumie zdobyłeś punktów: {punkty} !")
- Można dorobić walidator odpowiedzi użytkownika.
Zadanie domowe
- Skonstruować szyfr Cezara wykorzystując pętlę for
# ZNAKI = [......]
tekst = input("Wpisz tekst do zaszyfrowania: ")
klucz = input("Wprowadź klucz: ")
nowy_tekst = ""
for element in tekst:
indeksznaku = ZNAKI.index(element)
szyfr = (indeksznaku + int(klucz)) % len(ZNAKI)
nowy_znak = ZNAKI[szyfr]
nowy_tekst += nowy_znak
print(f"Tekst po zmianie to{nowy_tekst}")
- Napisać kod, który wyciągnie z listy tylko liczby parzyste
# liczby = [......]
for element in liczby:
if element % 2 == 0:
print(element)