Python Podstawowy - Lekcja 3: Python Kalkulator i Pierwsza Gra!
Summary
🔢 Lekcja 3: Python Kalkulator i Pierwsza Gra!
← Powrót do kursu Python Podstawowy
Witaj ponownie młody programisto! 👋 W drugiej lekcji nauczyłeś się zmiennych i funkcji input(). Dzisiaj Python stanie się Twoim super-kalkulatorem, a potem napiszemy prawdziwą grę! 🎮
🎯 Czego się dzisiaj nauczymy?
W tej trzeciej lekcji poznamy:
- 🔢 Python jako super-kalkulator
- 🧮 Jak zamieniać tekst na liczby (
int()) - ❓ Instrukcje warunkowe
ifielse - 🎮 Napiszemy grę: “Zgadnij liczbę”!
🔢 Python jako super-kalkulator!
Python to nie tylko narzędzie do wypisywania tekstu - to także potężny kalkulator!
Podstawowe operacje matematyczne:
# Proste obliczenia
print("Dodawanie: 5 + 3 =", 5 + 3)
print("Odejmowanie: 10 - 4 =", 10 - 4)
print("Mnożenie: 6 * 7 =", 6 * 7)
print("Dzielenie: 15 / 3 =", 15 / 3)
# Bardziej skomplikowane
print("Potęgowanie: 2 ** 3 =", 2 ** 3) # 2 do potęgi 3
print("Reszta z dzielenia: 17 % 5 =", 17 % 5) # Reszta z 17÷5
Wypróbuj to w Thonny! Zobaczysz wyniki:
Dodawanie: 5 + 3 = 8
Odejmowanie: 10 - 4 = 6
Mnożenie: 6 * 7 = 42
Dzielenie: 15 / 3 = 5.0
Potęgowanie: 2 ** 3 = 8
Reszta z dzielenia: 17 % 5 = 2
🎯 Mini zadanie 1: Testy matematyczne
Eksperyment! Oblicz w Pythonie:
- 100 + 234
- 50 * 12
- 2 do potęgi 10 (wskazówka:
2 ** 10) - Resztę z dzielenia 23 przez 4
🧮 Interaktywny kalkulator!
Teraz połączymy matematykę z input() - ale jest jeden haczyk! 🪝
Problem: input() daje tekst, nie liczby!
# To NIE ZADZIAŁA poprawnie!
liczba1 = input("Podaj pierwszą liczbę: ")
liczba2 = input("Podaj drugą liczbę: ")
suma = liczba1 + liczba2 # To połączy teksty, nie doda liczb!
print("Suma:", suma)
Co się stanie? Jeśli wpiszesz 5 i 3, dostaniesz “53” zamiast 8! 😱
Dlaczego? Funkcja input() zawsze zwraca tekst (string), nawet jeśli wpiszesz cyfry!
Rozwiązanie: funkcja int()! 🎯
# Teraz ZADZIAŁA!
print("🧮 KALKULATOR PYTHON 🧮")
print("=" * 25)
liczba1 = input("Podaj pierwszą liczbę: ")
liczba2 = input("Podaj drugą liczbę: ")
# UWAGA! input() zawsze daje tekst, musimy zmienić na liczby!
liczba1 = int(liczba1) # Zmienia tekst na liczbę całkowitą
liczba2 = int(liczba2)
suma = liczba1 + liczba2
roznica = liczba1 - liczba2
iloczyn = liczba1 * liczba2
print("\n📊 WYNIKI:")
print(f"➕ {liczba1} + {liczba2} = {suma}")
print(f"➖ {liczba1} - {liczba2} = {roznica}")
print(f"✖️ {liczba1} × {liczba2} = {iloczyn}")
print("\n🎉 Dziękuję za korzystanie z kalkulatora!")
Ważna nauka: 🎓
input()zawsze zwraca tekst (string), nawet jeśli użytkownik wpisze cyfry!int()zmienia tekst na liczbę całkowitą (integer).f"..."to nowy, wygodny sposób łączenia tekstu ze zmiennymi (tzw. f-string).
🎯 Mini zadanie 2: Kalkulator wieku
Wyzwanie matematyczne! Napisz program, który:
- Pyta o Twój wiek
- Oblicza, ile lat będziesz miał za 5 lat
- Oblicza, ile lat miałeś 3 lata temu
- Wyświetla wyniki w ładnym formacie z emoji
Wskazówka: Pamiętaj o int()!
💡 Instrukcje warunkowe - komputer podejmuje decyzje!
Do tej pory nasz komputer robił zawsze to samo. Teraz nauczymy go podejmować decyzje! 🤔
Poznajemy if i else
if znaczy “jeżeli”else znaczy “w przeciwnym przypadku”
Pierwszy przykład - sprawdzanie hasła:
# Prosta gra w hasło
sekretne_haslo = "python123"
print("🔐 SYSTEM OCHRONY 🔐")
haslo = input("Podaj hasło: ")
if haslo == sekretne_haslo:
print("✅ Dostęp dozwolony! Witaj w systemie! 🎉")
else:
print("❌ Dostęp zabroniony! Nieprawidłowe hasło! 🔒")
Zwróć uwagę:
==(dwa znaki równości) - sprawdza, czy dwie rzeczy są równe=(jeden znak równości) - przypisuje wartość do zmiennej- Po
ifielsejest dwukropek: - Kod pod
ifielsejest wcięty (4 spacje lub Tab)
🎯 Mini zadanie 3: Quiz matematyczny
Sprawdź wiedzę! Napisz program, który:
- Pyta “Ile to 5 + 3?”
- Jeśli odpowiedź to 8 - wyświetla “Brawo! Poprawna odpowiedź! 🎉”
- Jeśli nie - wyświetla “Niestety, to nie jest 8. Spróbuj jeszcze raz!”
🎮 Nasza pierwsza gra: “Zgadnij liczbę!”
A teraz najlepsza część - napiszemy prawdziwą grę! 🎊
Gra “Zgadnij liczbę” - wersja podstawowa:
# Gra: Zgadnij liczbę!
print("🎮" * 30)
print("🎯 GRA: ZGADNIJ LICZBĘ! 🎯")
print("🎮" * 30)
print("Cześć! Pomyślałem sobie liczbę od 1 do 10.")
print("Czy potrafisz ją zgadnąć? 🤔")
# Nasza sekretna liczba
sekretna_liczba = 7
# Gracz zgaduje
odpowiedz_gracza = input("\nPodaj swoją odpowiedź (1-10): ")
odpowiedz_gracza = int(odpowiedz_gracza) # Zmieniamy tekst na liczbę
# Sprawdzamy odpowiedź
print("\n🔍 Sprawdzam Twoją odpowiedź...")
if odpowiedz_gracza == sekretna_liczba:
print("🎉 BRAWO! Zgadłeś! Sekretną liczbą było", sekretna_liczba)
print("🏆 Jesteś mistrzem zgadywania!")
else:
print("😔 Niestety, nie tym razem!")
print("🔢 Sekretną liczbą było:", sekretna_liczba)
print("💪 Spróbuj jeszcze raz!")
print("\n🎮 Dziękuję za grę!")
Co nowego się nauczyliśmy?
if- słowo kluczowe, które znaczy “jeżeli”==- sprawdza, czy dwie rzeczy są równeelse- oznacza “w przeciwnym przypadku”
🎯 Mini zadanie 4: Gra w zgadywanie słowa
Twoja gra! Napisz program, który:
- Ma ustalone “sekretne zwierzę” w zmiennej (np. “kot”)
- Pyta gracza: “Zgadnij, o jakim zwierzęciu myślę?”
- Jeśli zgadnie - wyświetla “Brawo! To był kot! 🐱”
- Jeśli nie - wyświetla “Nie, to nie było [odpowiedź]. Myślałem o kocie!”
🌟 Gra “Zgadnij liczbę” - wersja z podpowiedziami!
Ulepszmy naszą grę - dodajmy podpowiedzi “za mało” lub “za dużo”!
# Gra z podpowiedziami
print("🎮" * 30)
print("🎯 GRA: ZGADNIJ LICZBĘ! 🎯")
print("🎮" * 30)
print("Pomyślałem sobie liczbę od 1 do 20.")
print("Spróbuj ją zgadnąć! 🤔")
sekretna_liczba = 13
odpowiedz = input("\nPodaj swoją odpowiedź (1-20): ")
odpowiedz = int(odpowiedz)
print("\n🔍 Sprawdzam...")
if odpowiedz == sekretna_liczba:
print("🎉 BRAWO! Zgadłeś za pierwszym razem!")
print("🏆 Jesteś prawdziwym mistrzem!")
else:
if odpowiedz < sekretna_liczba:
print("📈 Za mało! Moja liczba jest większa!")
else:
print("📉 Za dużo! Moja liczba jest mniejsza!")
print(f"🔢 Sekretną liczbą było: {sekretna_liczba}")
print("💪 Następnym razem na pewno zgadniesz!")
print("\n🎮 Dziękuję za grę!")
Co nowego?
<- mniejsze niż>- większe niż- Możemy używać
ifwewnątrzelse- to nazywa się zagnieżdżone if!
🎯 Mini zadanie 5: Gra z trzema próbami
Wyzwanie! Rozszerz grę tak, żeby:
- Gracz miał 3 próby
- Po każdej błędnej odpowiedzi wyświetlała się podpowiedź
- Po trzech próbach gra się kończy
Wskazówka: Będziesz potrzebować kilku instrukcji if jedna po drugiej!
🎲 Gra z LOSOWĄ liczbą!
Chcesz, żeby komputer sam wybierał liczbę? Użyjmy biblioteki random!
import random # To pozwala nam losować liczby!
# Gra z losową liczbą
print("🌟" * 40)
print("🎯 LOSOWA GRA W ZGADYWANIE! 🎯")
print("🌟" * 40)
print("Komputer wylosuje liczbę od 1 do 20.")
print("Spróbuj ją zgadnąć! 🎲")
# Komputer losuje liczbę
sekretna_liczba = random.randint(1, 20)
print("\n🎲 Wylosowałem liczbę!")
odpowiedz = int(input("Podaj swoją odpowiedź (1-20): "))
print("\n🔍 Sprawdzam...")
if odpowiedz == sekretna_liczba:
print("🎉 NIESAMOWITE! Zgadłeś!")
print("🏆 Jesteś prawdziwym szczęściarzem!")
else:
if odpowiedz < sekretna_liczba:
print("📈 Za mało!")
else:
print("📉 Za dużo!")
print(f"🔢 Wylosowaną liczbą było: {sekretna_liczba}")
print("💪 Spróbuj ponownie - uruchom program jeszcze raz!")
print("\n🎮 Dziękuję za grę!")
Nowe rzeczy:
import random- importuje bibliotekę do losowaniarandom.randint(1, 20)- losuje liczbę całkowitą od 1 do 20- Teraz za każdym razem będzie inna liczba! 🎲
🎨 Zadania do wykonania!
Zadanie 1: Kalkulator wieku psa 🐕
Napisz program, który:
- Pyta o wiek Twojego psa (lub wymyślonego)
- Oblicza wiek psa w latach ludzkich (wiek psa × 7)
- Wyświetla wynik w zabawny sposób
- Jeśli pies ma więcej niż 10 lat w “ludzkich latach” - wyświetla “Twój pies może już iść na emeryturę! 👴”
Zadanie 2: Quiz wiedzy ogólnej 📚
Stwórz quiz z 3 pytaniami, np.:
- “Ile to 10 + 5?”
- “Jaka jest stolica Polski?”
- “Ile nóg ma pająk?”
Program powinien:
- Zadawać każde pytanie
- Sprawdzać odpowiedź
- Wyświetlać “Dobrze!” lub “Źle!”
Zadanie 3: Mega kalkulator 🧮
Napisz super-kalkulator, który:
- Pyta o dwie liczby
- Pyta, jaką operację wykonać (+, -, *, /)
- Wykonuje odpowiednie działanie
- Wyświetla wynik w ładnym formacie
🐛 Najczęstsze błędy w Lekcji 3 (i jak je naprawić!)
Błąd 1: Zapomnienie o int() ❌
wiek = input("Ile masz lat? ")
za_rok = wiek + 1 # BŁĄD! Nie można dodać liczby do tekstu
✅ Poprawka:
wiek = input("Ile masz lat? ")
wiek = int(wiek) # Zmienia tekst na liczbę!
za_rok = wiek + 1
Błąd 2: Mylenie = z == ❌
if imie = "Ania": # BŁĄD! Jeden znak =
print("Cześć Ania!")
✅ Poprawka:
if imie == "Ania": # Dwa znaki == do porównania!
print("Cześć Ania!")
Błąd 3: Zapomnienie o dwukropku i wcięciach ❌
if wiek > 10 # BŁĄD! Brak dwukropka
print("Masz więcej niż 10 lat") # BŁĄD! Brak wcięcia
✅ Poprawka:
if wiek > 10: # Dwukropek!
print("Masz więcej niż 10 lat") # Wcięcie (4 spacje lub Tab)
Błąd 4: Próba użycia int() na tekście z literami ❌
odpowiedz = input("Podaj liczbę: ") # Użytkownik wpisuje "pięć"
liczba = int(odpowiedz) # BŁĄD! "pięć" to nie cyfra!
✅ Rozwiązanie:
- Użytkownik musi wpisać cyfrę (5), nie słowo (“pięć”)
- Python pokaże błąd, jeśli spróbujesz zamienić litery na liczbę
🎉 Fajne ciekawostki na koniec! 🤓
- Pierwsza gra “Zgadnij liczbę” została napisana w latach 60. XX wieku! 🎮
- Python może obliczyć 2 do potęgi 1000 w ułamku sekundy! Spróbuj:
print(2 ** 1000)🚀 - Znak
==używają prawie wszystkie języki programowania do porównywania wartości! 🌍 - Biblioteka
randomw Pythonie używa skomplikowanych algorytmów matematycznych do generowania “losowych” liczb! 🎲
🤖 Twój pomocnik AI - rozwiązywanie problemów!
Teraz znasz już sporo! Oto przykłady pytań dla AI:
🌟 Przykładowe pytania:
- “Jak sprawić, żeby moja gra miała 5 prób zamiast 3?”
- “Pokaż mi kod na grę w kamień-papier-nożyce”
- “Jak zrobić kalkulator, który działa w pętli?”
- “Jak sprawdzić, czy liczba jest parzysta?”
Przykład rozmowy: Ty: “Jak sprawdzić, czy liczba jest parzysta?”
AI: Użyj operatora modulo %:
liczba = int(input("Podaj liczbę: "))
if liczba % 2 == 0:
print("Liczba jest parzysta!")
else:
print("Liczba jest nieparzysta!")
🎓 Magiczny Tryb Nauki z ChatGPT!
Czy wiesz, że możesz używać ChatGPT jako swojego prywatnego nauczyciela programowania? 🧙♂️
ChatGPT ma specjalny “Learning Mode” (Tryb Nauki), który pomoże Ci zrozumieć Pythona krok po kroku!
🌟 Magiczna Formuła - Twój Osobisty Prompt do Nauki!
Skopiuj i wklej ten szablon do ChatGPT, wypełniając tylko miejsca w {{nawiasach}}:
Jesteś moim nauczycielem programowania 🎓 - z Twoją pomocą chciałbym
zrozumieć nowe zagadnienie w Pythonie.
Mój poziom wiedzy: {{początkujący/średniozaawansowany}} w Pythonie.
Mam {{ile tygodni/miesięcy}} doświadczenia z programowaniem.
Umiem już: {{np. print(), input(), zmienne, if/else}}.
Cel nauki: Chcę zrozumieć {{np. pętle while, listy, funkcje}} aby
{{np. stworzyć grę w kółko i krzyżyk}}.
Napotykam następującą blokadę: {{np. nie rozumiem, dlaczego pętla
się nie kończy / nie wiem, jak dodać element do listy}}.
Proszę o wyjaśnienie tego zagadnienia krok po kroku, zaczynając od
{{podstaw}} i przechodząc do {{praktycznego zastosowania}}.
Najlepiej uczę się poprzez {{przykłady z grami / proste ćwiczenia /
kod z komentarzami}}.
Preferuję odpowiedź w formie {{krótkiego kodu z wyjaśnieniami /
serii łatwych zadań / projektu do zrobienia}}.
Czy możesz mi pomóc zrozumieć to zagadnienie krok po kroku? 🚀
📝 Przykład Użycia - Dla Ciebie!
Oto jak mógłbyś użyć tego promptu po dzisiejszej lekcji:
Jesteś moim nauczycielem programowania 🎓 - z Twoją pomocą chciałbym
zrozumieć nowe zagadnienie w Pythonie.
Mój poziom wiedzy: początkujący w Pythonie.
Mam 3 tygodnie doświadczenia z programowaniem.
Umiem już: print(), input(), zmienne, int(), if/else.
Cel nauki: Chcę zrozumieć jak sprawdzić, czy liczba jest parzysta
lub nieparzysta aby stworzyć grę, która zgaduje parzystość liczby.
Napotykam następującą blokadę: nie rozumiem, jak działa operator %
(modulo) i dlaczego liczba % 2 == 0 oznacza, że liczba jest parzysta.
Proszę o wyjaśnienie tego zagadnienia krok po kroku, zaczynając od
podstaw i przechodząc do praktycznego zastosowania.
Najlepiej uczę się poprzez proste przykłady z komentarzami.
Preferuję odpowiedź w formie krótkiego kodu z wyjaśnieniami i kilku
prostych zadań do przećwiczenia.
Czy możesz mi pomóc zrozumieć to zagadnienie krok po kroku? 🚀
🎯 Co Dostaniesz?
ChatGPT odpowie Ci na przykład tak:
ChatGPT: “Świetnie! Wyjaśnię Ci operator modulo (%) krok po kroku! 🎓
Krok 1: Czym jest modulo? Operator % (modulo) zwraca resztę z dzielenia. Na przykład:
- 7 % 2 = 1 (bo 7 ÷ 2 = 3 reszty 1)
- 8 % 2 = 0 (bo 8 ÷ 2 = 4 reszty 0)
Krok 2: Jak to działa z liczbami parzystymi?
# Liczby parzyste dzielą się przez 2 bez reszty
8 % 2 = 0 # Parzysta!
10 % 2 = 0 # Parzysta!
# Liczby nieparzyste mają resztę 1
7 % 2 = 1 # Nieparzysta!
9 % 2 = 1 # Nieparzysta!
Krok 3: Kod z komentarzami:
liczba = int(input('Podaj liczbę: '))
# Sprawdzamy resztę z dzielenia przez 2
if liczba % 2 == 0:
print('To liczba parzysta! 😊')
else:
print('To liczba nieparzysta! 🎲')
Zadania do przećwiczenia:
- Sprawdź, czy liczba dzieli się przez 3
- Sprawdź, czy liczba dzieli się przez 5
- Stwórz grę: komputer losuje liczbę, gracz zgaduje czy parzysta czy nieparzysta”
💡 Wskazówki, jak najlepiej używać ChatGPT:
✅ DOBRE pytania:
- “Wyjaśnij mi krok po kroku, jak działa if/else”
- “Pokaż mi 3 proste przykłady użycia zmiennych”
- “Jak mogę ulepszyć tę grę?” [wklejasz swój kod]
- “Dlaczego ten kod nie działa?” [opisujesz błąd]
❌ ZŁE pytania:
- “Zrób za mnie zadanie domowe”
- “Napisz całą grę bez wyjaśnień”
🌟 SUPER pytania:
- “Napisz kod z komentarzami wyjaśniającymi każdą linię”
- “Podaj mi 5 zadań o rosnącej trudności na temat […]”
- “Wytłumacz mi ten błąd prostymi słowami: [błąd]”
🎮 Przykłady Promptów dla Różnych Sytuacji:
🔧 Gdy coś nie działa:
Mój kod nie działa i dostaję błąd. Oto mój kod:
[wklej kod]
Oto błąd:
[wklej komunikat błędu]
Wyjaśnij mi prostymi słowami, co jest nie tak i jak to naprawić?
🚀 Gdy chcesz się rozwijać:
Właśnie skończyłem Lekcję 3 o if/else. Podaj mi 5 kreatywnych
projektów (od łatwego do trudnego), które pomogą mi przećwiczyć
instrukcje warunkowe. Każdy projekt opisz w 2-3 zdaniach.
💪 Gdy chcesz wyzwania:
Napisałem ten kod [wklej kod]. Działa, ale chcę go ulepszyć.
Podaj mi 3 pomysły, jak mogę go zrobić lepszym/ciekawszym/bardziej
zaawansowanym. Wyjaśnij każdy pomysł i pokaż przykład kodu.
🎯 Twoje Zadanie!
Wypróbuj to teraz!
- Otwórz ChatGPT (chat.openai.com)
- Skopiuj “Magiczną Formułę” z góry
- Wypełnij {{nawiasy}} swoimi informacjami
- Zadaj pytanie o coś z dzisiejszej lekcji!
- Zobacz, jak ChatGPT krok po kroku Ci to wyjaśni! 🎓
Pamiętaj: ChatGPT to Twój pomocnik, nie zastępstwo za naukę! Najlepiej uczyć się, próbując samemu, a ChatGPT używać, gdy utkniesz lub chcesz zrozumieć coś lepiej. 💡
🚀 Co nas czeka w Lekcji 4?
W Lekcji 4 nauczymy się:
- 🔄 Pętle - jak powtarzać kod wiele razy
- 📝 Listy - jak przechowywać wiele wartości
- 🎮 Stworzymy grę “Kamień, Papier, Nożyce”!
- ⚡ Poznamy pętlę
whileifor
Zapowiedź kodu z następnej lekcji:
# Gra, która działa w pętli!
while True:
odpowiedz = input("Chcesz zagrać jeszcze raz? (tak/nie): ")
if odpowiedz == "nie":
break
print("Zagrajmy jeszcze raz!")
Nie możesz się doczekać? Przećwicz wszystkie zadania z tej lekcji - im więcej ćwiczysz, tym lepszy będziesz! 💪
Pamiętaj: Każdy błąd to okazja do nauki! Nie martw się, jeśli coś nie działa za pierwszym razem. Wszyscy programiści popełniają błędy - ważne jest, żeby się z nich uczyć! 🌟
← Powrót do kursu Python Podstawowy
Udało Ci się zgadnąć liczbę za pierwszym razem? A może masz pomysł na ulepszenie gry? Napisz w komentarzach! 😊
comments powered by Disqus