Python - zajęcia 7

Python - zajęcia 7
Photo by Campaign Creators / Unsplash

Dalsza praca nad kwestionariuszem

  1. 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)
        ]
    )
]
  1. 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)
  1. 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")
  1. 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")
  1. 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} !")
  1. Można dorobić walidator odpowiedzi użytkownika.

Zadanie domowe

  1. 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}")
  1. Napisać kod, który wyciągnie z listy tylko liczby parzyste
# liczby = [......]

for element in liczby:
    if element % 2 == 0:
        print(element)