FANDOM


Adatbeolvasás billentyűzetről Szerkesztés

Az input() függvény beolvas egy szöveget. Az argumentuma a kiírandó szöveg, a visszatérési értéke a beolvasott adat. A raw_input() ugyanennek az elavult, 2.x-es változata, cseréljük inputra, ha ilyent találtunk egy példaprogramban.

A Python dinamikus típusossága miatt az értékeknek van típusuk, nem a változóknak, és ez csak futásidőben dől el. Éppen ezért az input() értéke mindig egységesen string típusú lesz, amit az int() és a float() függvénnyel alakíthatunk számmá. Az átalakítás során felmerülő hibák kivételként kezelhetők.

try:
    a=int(input("Kérek egy egész számot: "))
except ValueError:
    print("Hát ez bizony nem egész szám!")

Ezzel a kóddal egy egész számot olvashatunk be hibamentesen (de 1.0-t már nem, mivel az lebegőpontos!). Egészen kezdő szinten az a=int(input("Kérek egy egész számot: ")) kód is megteszi, a hibakezelést később is taníthatjuk. Természetesen a rontott bevitelt szeretnénk megismételni, amit a Python sajátos középen tesztelő ciklusával tehetünk meg:

while True:
    try:
        a=int(input("Kérek egy egész számot: "))
        break;
    except ValueError:
        print("Hát ez bizony nem egész szám!")


Még egy példa: a
print(type(float(input("Kérem a számot: "))))
utasítás a <class 'float'> stringgel reagál bármilyen lebegőpontos számként értelmezhető adat beírására, és ValueError hibaüzenettel minden másra (de nem őrzi meg a beírt értéket). Ha viszont C nyelvű tapasztalatainkból kiindulva a
print(type(float(a=input("Kérem a számot: "))))
utasítással próbálkoznánk, annak hibaüzenet lenne a vége, az ilyen típusú értékadást a Python tudatosan nem engedélyezi.

A Valószínűségszámítási szimulációk cikkben arra láthatunk példát, hogyan lehet a változónak egy alapértelmezés szerinti értéke adni, amit a felhasználó az enterrel fogadhat el gépelés nélkül.

Képletek beolvasása Szerkesztés

Az eval() függvénnyel képleteket is kiértékelhetünk (a 2.x verziókban ennek a megfelelője volt az input, ezért volt raw_input az egyszerű bevitel).

a=8; 
f=input("Mit számoljak ki? ")
print(eval("3*7+"+f))

Ha a 4*a szöveggel válaszolunk, akkor az eredmény 53 lesz. További segítséget a help(eval) paranccsal kaphatunk.

Az eval() ennél többet is tud. A Valószínűségszámítási szimulációk szócikkben arra látunk példát, hogy egy szótárban több függvény nevét tároljuk, és ezek közül a program a felhasználó által kiválasztott függvényt hívja meg.

Adatbeolvasás szöveges állományból Szerkesztés

Erre számos példát találunk az érettségi feladatok között.

Ez a szócikk forráskódot tartalmaz, amely egy WikiMedia-kiegészítés segítségével olyan színesen jeleníthető meg, mint például ebben a Wikipédia-cikkben. A kiegészítést a Wikia-stáb ígérete szerint 2010 végéig frissítik, addig türelmet kérünk a fapados kinézet miatt.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

A Wikia-hálózat

Véletlen wiki