Opanowanie funkcji input() w Pythonie: klucz do interaktywnych programów

Podstawy funkcji input()

Funkcja input() jest fundamentalnym narzędziem, które pobiera dane wejściowe od użytkownika z konsoli (terminala). Program zatrzymuje swoje działanie i czeka, aż użytkownik wpisze tekst i naciśnie klawisz Enter.


Składnia

Składnia to: input([prompt]). Argument prompt jest opcjonalny; to ciąg znaków, który jest wyświetlany użytkownikowi jako komunikat, informujący, jakiego rodzaju danych się oczekuje.

Przykład użycia z komunikatem (prompt):

imie = input("Podaj swoje imię: ")
print(f"Witaj, {imie}!")
input("\nNaciśnij Enter\n")
Źródło: Nazwa:
Centrum Pobierania post_29_1pl

Przykład użycia bez komunikatu:

dane = input()
print(f"Wprowadzono: {dane}")
input("\nNaciśnij Enter\n")
Źródło: Nazwa:
Centrum Pobierania post_29_2pl

Ważna uwaga: zawsze zwraca typ str

Najważniejszą rzeczą do zapamiętania jest to, że funkcja input() zawsze zwraca dane jako ciąg znaków (typ str), niezależnie od tego, czy użytkownik wpisze litery, czy liczby.

Aby użyć wprowadzonych danych jako liczby całkowitej (typ int) lub liczby zmiennoprzecinkowej (typ float), należy jawnie wykonać konwersję typu (ang. typecasting) za pomocą funkcji int() lub float().


Przykłady konwersji typów

1. Konwersja na liczbę całkowitą (int):

Jeśli użytkownik wprowadzi "10", musimy to przekształcić z "10" (str) na 10 (int).

# Zapis na dwa etapy:
wiek_str = input("Ile masz lat? ") # Zwraca string, np. "30"
wiek_int = int(wiek_str)          # Konwersja na int, np. 30
print(f"Za rok będziesz miał/a: {wiek_int + 1}")

# Zapis skrócony (zalecany):
numer_buta = int(input("Jaki masz rozmiar buta? "))
print(f"Twój rozmiar buta: {numer_buta}")

input("\nNaciśnij Enter\n")
Źródło: Nazwa:
Centrum Pobierania post_29_3pl

2. Konwersja na liczbę zmiennoprzecinkową (float):

Użyj float() dla wartości dziesiętnych.

cena = float(input("Podaj cenę produktu: "))
vat = cena * 0.23
print(f"Wartość VAT to: {vat:.2f}")

input("\nNaciśnij Enter\n")
Źródło: Nazwa:
Centrum Pobierania post_29_4pl

⚠ Uwaga: Jeśli użytkownik spróbuje wprowadzić tekst (np. "trzy") i natychmiast spróbujesz to przekształcić na int() lub float(), program zgłosi błąd ValueError.


Zastosowanie do utrzymania otwartego terminala

Często, gdy program jest uruchamiany bezpośrednio, okno terminala zamyka się natychmiast po zakończeniu działania skryptu, co uniemożliwia zobaczenie końcowego wyniku.

Możesz temu zapobiec, dodając prostą instrukcję input() na końcu skryptu, która po prostu wstrzymuje program aż do naciśnięcia klawisza Enter.

Przykład wstrzymania wykonania

# Główny kod programu...
print("Wszystkie obliczenia zostały zakończone.")

# Wstrzymuje zamknięcie okna terminala:
input("Naciśnij Enter, aby zakończyć...")
Źródło: Nazwa:
Centrum Pobierania post_29_5pl

Podsumowanie

Funkcja input() jest niezbędna do tworzenia interaktywnych programów. Pamiętaj, aby:

👇

▒ Przewodnik po blogu: wszystkie posty o programowaniu w jednym miejscu. ▹ Zobacz