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:
- Używać argumentu prompt, aby komunikować się z użytkownikiem.
- Konwertować wynik na odpowiedni typ (int(), float()), jeśli oczekujesz liczby.
- Używać input() na końcu skryptu, aby zatrzymać okno terminala i wyświetlić wyniki.
👇
▒ Przewodnik po blogu: wszystkie posty o programowaniu w jednym miejscu. ▹ Zobacz