Python - zajęcia 5

Python - zajęcia 5
Photo by Nima Shabani / Unsplash

Pętle cz.1

Sposoby na zdefiniowanie powtarzalnej czynności np. "Wykonuj coś tak długo jak jakiś warunek jest spełniony","Wykonaj coś X razy". W pythonie mamy dostępne pętle while i for.

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.
  • Inaczej mówiąc: pętla która wykonuje się tyle razy ile mamy elementów w sekwencji (O ile nie wyrwiemy sie z niej wcześniej)
    Preferowany rodzaj pętli w pythonie:
for litera in "Robisz.to":
    print(litera)
  • Podobnie jak w "ifach" - są też wcięcia które oznaczają który blok kodu zostanie wykonany w pętli (coś powtarzamy wiele razy)

Zrzut ekranu 2025-09-08 185638.png

Przykłady:

zwierzaki = ["pies", "kot", "chomik", "rybki"]

for zwierzak in zwierzaki:
    print(zwierzak)
    print("***********")
    
#Wynik: pies
# ***********
# kot
# ***********
# chomik
# ***********
# rybki
# ***********


Funkcja range

range(ilość elementów)

for i in range(3):
    print("witaj")

#Wynik: witaj
witaj
witaj

for costam in range(1,11):
    print(costam)

#Wynik:1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
# 10

for costam in range(10, 0, -1):
    print(costam)

#Wynik:10
# 9
# 8
# 7
# 6
# 5
# 4
# 3
# 2
# 1

for i in range(5):
    print(i, end= ", ")
    
#Wynik: 0, 1, 2, 3, 4,

Pętla for w słownikach:

przepisy = {
    "jajecznica" : ["jajka", "masło", "pieprz", "sól"]
    "pizza" : ["mąka","drożdże","przyprawy"]
    }
    
for potrawa in przepisy:
    print (potrawa)
    
#Wynik: jajecznica
        pizza
       
przepisy = {
    "jajecznica" : ["jajka", "masło", "pieprz", "sól"]
    "pizza" : ["mąka","drożdże","przyprawy"]
    }

for skladniki in przepisy["jajecznica"]:
    print (skladniki)
    
#Wynik: jajka
        masło
        pieprz
        sól
       
przepisy = {
    "jajecznica" : ["jajka", "masło", "pieprz", "sól"]
    "pizza" : ["mąka","drożdże","przyprawy"]
    }

for potrawa in przepisy:
    print ("Nazwa: ", potrawa)
    for skladnik in przepisy[potrawa]:
        print(skladnik)
    print("***")

#Wynik: Nazwa: Jajecznica
        jajka
        masło
        pieprz
        sól
        ***
        Nazwa: Pizza
        mąka
        drożdże
        przyprawy
        ***

Modłu turtle

Słuzy do proceduralnego (poprzez kod) rysowania kształtów na ekranie.
"Żółwik" jest dość "sędziwy" - wywodzi się z rozwiązań opracowanych dla języka Logo pod koniec lat 60. Wbrew pozorom jest bardzo przydatny - w sposób podobny do "żółwika" działają maszyny sterowane numerycznie (cnc, np. frezarki). Spotyka sie go także w architekturze. W programowaniu pomaga zrozumieć działanie pętli, poprawianie ich i konstruowanie.
Turtle powinien być domyślnie zainstalowany z pythonem.

Obsługa żółwika

import turtle

zolwik = turtle.Turtle() # stworz obiekt rysujacego zolwia pod zmienna zolwik
zolwik.speed(20) # ustaw szybkosc zolwia wbudowana metoda speed
zolwik.shape("turtle") # uzyj metody shape do ustawienia wygladu kursora / zolwia
#zolwik.pensize(3)  #zmienia grubość rysowanego obiektu
# tu kod

Kody do sterowania:
.forward(odległość) - przesuwa żółwia do przodu
.left(kąt) - skręca w lewo o podany kąt
.right(kąt) - skręca w prawo o podany kąt
.circle(promień) - rysuje okrąg o podanym promieniu
.penup() - żółwik przemieszczając się, przestanie zostawiać ślad
.pendown() - żółwik przemieszczając się zacznie rysować

Zrzut ekranu 2025-09-08 204154.png

Zad1:

for schody in range(4):
    print(zolwik.forward(50))
    print(zolwik.left(90))
for schody in range(1):
     print(zolwik.forward(100))
     print(zolwik.right(90))
for schody in range(1):
     print(zolwik.forward(50))
     print(zolwik.right(90))
for schody in range(1):
     print(zolwik.forward(100))
     print(zolwik.right(90))
for schody in range(1):
     print(zolwik.forward(50))
     print(zolwik.right(90))
for schody in range(1):
     print(zolwik.forward(100))
     print(zolwik.right(90))
for schody in range(1):
     print(zolwik.forward(50))
     print(zolwik.left(90))
for schody in range(1):
     print(zolwik.forward(50))
     print(zolwik.right(90))
for schody in range(1):
     print(zolwik.forward(50))
     print(zolwik.right(90))
for schody in range(1):
     print(zolwik.forward(150))
     print(zolwik.right(90))
for schody in range(1):
     print(zolwik.forward(50))
     print(zolwik.right(90))
for schody in range(1):
     print(zolwik.forward(150))
     print(zolwik.right(90))
for schody in range(1):
     print(zolwik.forward(50))
     print(zolwik.left(90))        
for schody in range(1):
     print(zolwik.forward(50))
     print(zolwik.right(90))
for schody in range(1):
     print(zolwik.forward(50))
     print(zolwik.right(90)) 
for schody in range(1):
     print(zolwik.forward(200))
     print(zolwik.right(90)) 
for schody in range(1):
     print(zolwik.forward(50))
     print(zolwik.right(90)) 

Zrzut ekranu 2025-09-11 161430.png

print(zolwik.right(180))
print(zolwik.forward(wysokosc))
kwadraty = 5
dlugosc = 50
for i in range(kwadraty):
     for schody in range(4):
          print(zolwik.forward(dlugosc))
          print(zolwik.left(90))
     dlugosc += 50

Zrzut ekranu 2025-09-11 161158.png