Rozdział 10 · Trochę automatyzacji!
Mini-projekt — gra „Zgadnij liczbę”, wersja 2
Ta sama gra co w rozdziale 9, ale teraz z nieograniczoną liczbą prób, zaprojektowanych od pseudokodu i schematu do gotowego kodu.
Pamiętasz grę „Zgadnij liczbę” while oraz break,
Dajmy graczowi tyle prób, ile chce. Zaprojektujmy to jak prawdziwy algorytm — najpierw
słowa, potem schemat, a potem kod.
Krok 1 — pseudokod
psevdokod.txt
загадать случайное число от 1 до 20
счётчик попыток = 0
повторять пока не угадано:
получить попытку игрока
увеличить счётчик попыток
если попытка равна загаданному — сообщить победу и остановиться
иначе если попытка меньше — подсказать «больше»
иначе — подсказать «меньше»
Krok 2 — flowchart
Krok 3 - Tabela Śladów (Przykładowa Gra)
| Próba Nie | Wkład gracza | Ukryte | Rezultat |
|---|---|---|---|
| 1 | 10 | 14 | mniej |
| 2 | 17 | 14 | więcej |
| 3 | 14 | 14 | trafił! |
Krok 4 - Kod
ugadaj_chislo_v2.py
import random
zagadannoe = random.randint(1, 20)
popytki = 0
while True:
popytka = int(input(„Zgadnij liczbę od 1 do 20:”))
popytki += 1
if popytka == zagadannoe:
print(f"Gratulacje, zgadłeś dobrze {popytki} prób!")
break
elif popytka < zagadannoe:
print(„Ukryta liczba jest większa.”)
else:
print(„Ukryta liczba jest mniejsza.”)
while True jest celowo nieskończoną pętlą
while True: nigdy nie zatrzyma się samo z siebie, to jedyna droga wyjścia: break do środka. Bardziej naturalne jest sprawdzanie warunku zatrzymania („gracz zgadł”Zadanie utrwalające: ograniczenie liczby prób i loop-else
★★ Zadanie samodzielne
Limit prób
Przerób grę tak, aby gracz miał nie więcej niż 5 prób – użyj range(5) loop for zamiast while True, a bloku else loop, aby dać poprawną odpowiedź, jeśli gracz nie odpowie poprawnie w 5 próbach.
Praktyka: „Zgadnij liczbę”
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Praktyka: „Zgadnij liczbę”
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji