Python - zajęcia 6

Python - zajęcia 6
Photo by 愚木混株 Yumu / Unsplash

Pętla while

  • wykonuje się tak długo, jak spełniony jest warunek, np.
i=0 
while i<10
  print(i)
  i+=1

Polecenie break pozwala na wcześniejsze wyjście z pętli.

i=100
while True:
  print(i)
  if i==0:
    break
  i-=1

Szybkie wcięcie - zaznacz fragment kodu + tab

Cofnięcie wcięcia - shift+tab

Continue - przeskakuje do kolejnej iteracji (pomija pozostałe kroki w bieżącej)

liczba = 0

while liczba < 10:
    liczba += 1
    if liczba == 5:
        continue  # pominie 5
    if liczba == 8:
        break      # zakończy pętlę
    print(liczba)

# Jak z obecną wiedzą można by było zrobić grę polegającą na zgadnięciu liczby?
# Zgadujemy liczbę 1-100 (włącznie). Po każdym nieudanym podejściu użytkownik dostaje 
# informację czy jego strzał by za duży / za mały.
# Na początku przyjmijmy, że użytkownik ma 10 podejść - po ich wyczerpaniu przegrywa.
# Skorzystajcie z pętli while (da się też zrobić z for-em :) ).
# Jeśli pójdzie z tym zadaniem szybko - spróbujcie dodać wybór poziomu trudności 
# np. łatwy - 10 prób, średni - 5, trudny - 3. 
from random import randint

proby = 0
LOSOWA_LICZBA = randint(1, 100)

print("Witaj w grze Zgadnij Liczbę!")
print("Twoim zadaniem jest zgadnięcie liczby z przedziału 1-100")

while True:
    print("Wpisz poziom trudności:")
    poziom_trudnosci = int(input("1 dla łatwego, 2 dla trudnego: "))

    if poziom_trudnosci == 1:
        proby = 10
        break
    elif poziom_trudnosci == 2:
        proby = 3
        break
    else:
        print("Błędnie wprowadzony poziom trudnosci - spróbuj jeszcze raz.")

print(f"Masz {proby} prób.")

while True:
    if proby <= 0:
        print("Nie udało ci się tym razem :( .")
        break

    propozycja = int(input("Wpisz swoją propozycje 1-100: "))

    if propozycja == LOSOWA_LICZBA:
        print("To ta liczba! Brawo!")
        break
    elif propozycja < LOSOWA_LICZBA:
        print("Poszukiwana liczba jest większa.")
    elif propozycja > LOSOWA_LICZBA:
        print("Poszukiwana liczba jes mniejsza.")

    proby -= 1