16

input – program pyta użytkownika

Materiały tej lekcji są na razie tylko do czytania na stronie. Kod przepisz albo skopiuj do swojego edytora.

Czego się nauczysz

Do tej pory wszystkie dane były wpisane w kodzie – żeby je zmienić, trzeba było edytować program. Od dziś program sam poprosi o wartość, a ty podasz ją w trakcie działania.

Po tej lekcji:

Program zaczyna rozmawiać

imie = input("Podaj imie: ")
print(f"Czesc, {imie}!")

Funkcja input zatrzymuje program, wyświetla komunikat, czeka na wpisanie tekstu i naciśnięcie Enter. To, co wpisano, oddaje jako wynik.

input zawsze zwraca tekst. Zawsze.

Nawet gdy wpiszesz liczbę. Wpisanie 17 daje napis "17", a nie liczbę 17. Python nie zgaduje, co miałeś na myśli – wszystko, co przychodzi z klawiatury, jest tekstem.

wiek = input("Wiek: ")
print(type(wiek))   # <class 'str'>
print(wiek + 1)     # TypeError!

Rozwiązanie znasz z lekcji 3: obudować input konwersją.

wiek = int(input("Wiek: "))
print(wiek + 1)     # działa
Kolejność nawiasów: najpierw wykonuje się input w środku, a dopiero jego wynik trafia do int.

Trzy przypadki, które wystarczą

Na egzaminie w zdecydowanej większości przypadków wystarczy int(input(...)).

Pamiętaj o pułapkach z lekcji 3: int("4.5") i float("4,25") z przecinkiem nie zadziałają.

Schemat: pobierz, policz, wypisz

Trzy kroki, które od teraz będą wracać w każdym programie.

a = int(input("Bok a: "))      # 1. POBIERZ
b = int(input("Bok b: "))
pole = a * b                   # 2. POLICZ
obwod = 2 * (a + b)
print(f"Pole: {pole}")         # 3. WYPISZ
print(f"Obwod: {obwod}")

Ten program wywali się, jeśli zamiast liczby wpiszesz literę. Naprawą zajmiemy się na następnej lekcji.

Spróbuj sam

Kod z tej lekcji czeka na twoje dane. Po kliknięciu „Uruchom” pod wynikiem pojawi się pole do wpisania – wpisz liczbę i naciśnij Enter.

Zadania z lekcji:

  1. Program pyta o imię i wiek, a potem wypisuje zdanie: „Anna, za rok będziesz mieć 18 lat”.
  2. Program pyta o dwa boki prostokąta i wypisuje jego pole oraz obwód.
  3. Program pyta o trzy oceny i wypisuje ich średnią z dokładnością do dwóch miejsc po przecinku.
  4. Program pyta o cenę netto i wypisuje cenę brutto przy stawce 23 procent. Cena ma być liczbą z kropką, więc użyj float.
  5. Uruchom dowolny ze swoich programów i wpisz literę zamiast liczby. Zapisz w komentarzu treść komunikatu błędu.

Sprawdź się

Na następnej lekcji: co zrobić, gdy użytkownik wpisze bzdurę. Nauczysz się przechwytywać błędy tak, żeby program nie przerywał działania.

Notatki

PDF
Zadania utrwalające Karta pracy do tej lekcji: zadania sprawdzające i domowe do samodzielnego zrobienia w swoim edytorze · 4 strony.
Zadania utrwalające – input – program pyta użytkownika
Strona 1 z 4 Strona 2 z 4 Strona 3 z 4 Strona 4 z 4

Prezentacja

Slajd 1 z 7
1 / 7

Kod

Otwórz kod, zmieniaj go i uruchamiaj na stronie – np. usuń # z linii oznaczonej jako błąd i zobacz, co się stanie. „Przywróć” wraca do wersji z lekcji.

PY
demo_16_input.py Kod z lekcji – otwórz, zmieniaj i uruchamiaj; wynik zobaczysz obok kodu.
demo_16_input.py
Wynik programu
Kliknij „Uruchom”, żeby zobaczyć tutaj wynik programu.