Lekcja 6 - Pętla while KP
Pętla while – wykonuj tak długo jak warunek jest spełniony

Diagram:

Możemy chcieć przerwać pętlę (for i while) -> break
Porównanie pętli - obie mogą robić to samo

While:
import turtle
zolwik = turtle.Turtle()
zolwik.speed(8)
zolwik.shape("turtle")
i = 2
while i < 200:
zolwik.forward(i)
zolwik.left(90)
i = i +2
turtle.exitonclick()
For:
import turtle
zolwik = turtle.Turtle()
zolwik.speed(8)
zolwik.shape("turtle")
for i in range(2, 200, 2):
zolwik.forward(i)
zolwik.left(90)
turtle.exitonclick()
Zadania:
Gra zgadnij losową liczbę
import random
print("Zgadnij liczbe z zakresu 1-100\n")
KOMPUTER = random.randint(1, 100)
#print(KOMPUTER)
nrproby = 1
while True:
poziom = int(input("""
Grasz w łatwiejsza czy trudniejsza wersje?
0 - łatwiejsza
1 - trudniejsza
"""))
if poziom == 0:
iloscprob = 10
break
elif poziom == 1:
iloscprob = 3
break
else:
print("Wpisales nieprawidlowy poziom trudnosci. Sproboj ponownie")
for i in range(iloscprob):
print(f"Proba {nrproby}")
uzytkownik = int(input("Podaj cyfrę: "))
if nrproby == iloscprob:
print("Przegrales. Skonczyly Ci sie proby :(")
else:
if KOMPUTER > uzytkownik:
print("Podaj wieksza liczbe\n")
elif KOMPUTER < uzytkownik:
print("Podaj mniejsza liczbe\n")
elif KOMPUTER == uzytkownik:
print("Wygrales")
break
nrproby += 1
ZADANIE DOMOWE - Quiz
from random import shuffle
ankieta = [
(
"\nKtóra z poniższych metod zabezpieczenia 2FA uznawana jest za najbezpieczniejszą?",
[
("SMS", 0),
("kod z aplikacji (TOTP)", 0),
("klucz sprzętowy", 1),
],
),
(
"\nKtóry z poniższych języków programowania uznany został za najpopularniejszych wg . rankingu Tiobe 2023?",
[
("Cobol", 0),
("Python", 1),
("Pascal", 0),
],
),
]
wyniki = {}
kontunuuj = "T"
kod = 0
while kontunuuj == "T":
imie = input("\nWprowadz swoje imie: ")
imie = f"{kod}_{imie}" #zabezbieczenie na wpisanie tego samego imienia - dodanie kodu uzytkowanika
kod += 1
print(f"Twój identyfikator to: {imie}")
# while imie in wyniki.keys(): #sprawdzenie czy imie juz istnieje
# imie = input("To imię już istnieje. Wprowadz swoje imie: ")
wyniki[imie] = 0
shuffle(ankieta)
for i in range(len(ankieta)):
print(ankieta[i][0])
shuffle(ankieta[i][1])
odpowiedzi = ankieta[i][1]
print(f"1. {odpowiedzi[0][0]}")
print(f"2. {odpowiedzi[1][0]}")
print(f"3. {odpowiedzi[2][0]}")
wybor = input("Wprowadz nr odpowiedzi: ")
while wybor != "1" and wybor != "2" and wybor != "3":
wybor = input("Podales nieprawiidlowa liczbe. 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 ***********")
kontunuuj = ""
while kontunuuj != "T" and kontunuuj != "N":
kontunuuj = input("Czy chcesz, aby kolejna osba przystapila do ankiety? T - tak, N - nie: ").upper()
print(wyniki)