Felhasználói input Pythonban

Részletes fejezet az input() működéséről, típuskonverzióról és gyakori hibákról.

A program akkor válik igazán interaktívvá, amikor nem minden adat van előre beleírva a kódba. A Pythonban az input() függvény segítségével a felhasználótól is be lehet kérni adatot, amelyet később feldolgozol, ellenőrzöl vagy kiírsz.

Az input alapjai

name = input("Add meg a neved: ")
print("Szia,", name)

Az input megjelenít egy üzenetet, majd megvárja, hogy a felhasználó beírjon valamit. Az eredmény visszakerül a programba.

Az input mindig string

Ez az egyik legfontosabb kezdőszabály. Még akkor is stringet kapsz vissza, ha a felhasználó számot ír be.

value = input("Adj meg egy számot: ")
print(type(value))

Konverzió számra

age = int(input("Add meg az életkorod: "))
price = float(input("Adj meg egy árat: "))

Miért fontos ez?

Mert különben olyan hibákba futsz bele, mint például:

age = input("Age: ")
print(age + 1)

Itt a Python nem tudja összeadni a stringet és a számot.

Input és feltételek

Az inputot gyakran feltételekben használjuk, ezért különösen fontos, hogy a típus a megfelelő legyen.

age = int(input("Add meg az életkorod: "))

if age >= 18:
    print("Nagykorú")
else:
    print("Kiskorú")

Input és hibaellenőrzés

A felhasználó nem mindig azt írja, amit vársz. Ezért az inputkezelés sokszor együtt jár try/except blokkokkal.

try:
    age = int(input("Age: "))
    print(age)
except ValueError:
    print("Érvénytelen egész szám")
Gyakorlati tipp: a jó inputüzenet konkrét. Az „Enter data” helyett sokkal jobb az „Adj meg egy egész számot 1 és 10 között”.