Python zajęcia 5/6
Pętla for
- "wykonaj coś tyle razy ile jest elementów w "
- umożliwia nam przemieszczanie się po elementach jakiejś sekwencji np. Znakach w ciągu znaków, czy elementach listy/krotki
- pętla wykonuje się tyle razy ile mamy elementów w sekwencji
for litera in "Robisz.to":
print(litera)for element in ["a", "b", "c"]:
print(element)Nie ma obowiązku wykorzystywania elementu sekwencji w powtarzalnym bloku. Jeśli używamy go jedynie do przemieszczania się po sekwencji to dobrą praktyką jest nazwanie go "_" (czyli użycie znaku podłogi).

! metoda items zamienia słownik na listę krotek
! nie można nazywać naszych plików jak importowane moduły
Pętla while
- "... wykonuj tak długo aż"
- pętla ta wykonuje się tak długo jak jakiś warunek jest spełniony

- do przerwania klawiaturowego zapętlonej w nieskończonośc pętli: ctrl + c
- pętla for wiemy ile razy się wykona, pętla while nie wiemy kiedy spełni sie warunek
i = 0
while i < 10:
print(i)
i += 1Jeśli chcemy wyjść z pętli wcześniej (w przypadku for zanim dojdziemy do ostatniego elementu, w przypadku while zanim warunek zwróci False) możemy skorzystać z break.
i = 0
while True:
if i < 10:
break
print(i)
i += 1Funkcja range
Jeśli nie mamy jakiejś gotowej sekwencji z odpowiednią ilością elementów to z pomocą może przyjść nam funkcja range.
W najprostszej postaci konstruujemy ją tak:
range(ilośc_elementów)
for _ in range(3):
print(Hej)Jeśli jednak potrzebujemy jakiegoś konkretnego zakresu (np. od 10 do 20 etc) i o konkretnym kroku (czyli elementy zwiększają się o konkretną wartość) można skorzystać z dodatkowych parametrów:
range(start, stop, krok)
Kwestionariusz
import random
#Dane quizu
pytania = [
{
"pytanie": "Która funkcja w Pythonie służy do wpisywania tekstu?",
"opcje": [
("input ()", 0),
("print()", 1),
("display()", 0)
],
},
{
"pytanie": "Jakiego operatora używa się do potęgowania?",
"opcje": [
("**", 1),
("//", 0),
("$$", 0)
],
},
{
"pytanie": "Który z poniższych nie jest poprawną nazwą zmiennej?",
"opcje": [
("zmienna2", 0),
("zmienna_2", 0),
("2zmienna", 1)
],
},
{
"pytanie": "Jak zamienić liczbę całkowitą na typ zmiennoprzecinkowy?",
"opcje": [
("int()", 0),
("str()", 0),
("float()", 1)
],
},
{
"pytanie": "Jakiego operatora używa się do sprawdzenia czy dwie wartości są sobie równe?",
"opcje": [
("!=", 0),
("==", 1),
("=", 0)
],
},
{
"pytanie": "Który symbol jest używany do komentowania pojedynczej linii kodu?",
"opcje": [
("#", 1),
("//", 0),
("$", 0)
],
},
{
"pytanie": "Która z poniższych fukncji konwertuje wartość na liczbę całkowitą?",
"opcje": [
("int()", 1),
("float()", 0),
("str()", 0)
],
},
{
"pytanie": "Co będzie wynikiem print(5<3 or 10>5) ?",
"opcje": [
("error", 0),
("false", 0),
("true", 1)
],
},
{
"pytanie": "Która funkcja pozwala na pobranie danych wprowadzonych przez użytkownika z klawiatury ?",
"opcje": [
("print()", 0),
("input()", 1),
("get()", 0)
],
},
{
"pytanie": "Jaką wartość będzie mieć zmienna x po wykonaniu poniższego kodu ? x = 10 x +=5",
"opcje": [
("5", 0),
("10", 0),
("15", 1)
],
}
]
wyniki_uczestnikow = {}
imie = input("Wpisz swoje imie: \n")
nr_odp = ["a", "b", "c"]
punkty = 0
random.shuffle(pytania)
for pytanie in pytania:
print(pytanie["pytanie"])
random.shuffle(pytanie["opcje"])
print(f"a. {pytanie["opcje"][0][0]}")
print(f"b. {pytanie["opcje"][1][0]}")
print(f"c. {pytanie["opcje"][2][0]}\n")
odp_użytkownika = input("wprowadź odpowiedź a,b,c :")
index_odp = nr_odp.index(odp_użytkownika)
poprawna_odp = pytanie["opcje"][index_odp][1]
if poprawna_odp == 1:
print("\nPoprawna odpowiedź\n")
punkty += 1
else:
print("\nBłędna odpowiedź\n")
print(f"Twój wynik: {punkty}/{len(pytania)} punktów\n")
wyniki_uczestnikow[imie]=punkty