Bemenet gyűjtése
Eddig a Python programozási nyelv különböző szerkezeteit tanulta meg. Ön is készített néhány programot. A programok azonban adatokon működnek, és ezek az adatok valahol származnak. Ebben a leckében részletesebben is áttekintheti, hogyan gyűjthet be bemenetet a parancssorból és a felhasználói bemenetből.
Parancssori bemenet
Amikor elindít egy programot a használatával python3
, adja meg a elindítandó fájl nevét. Argumentumokat is megadhat neki: azokat az adatokat, amelyekhez a program a futtatáskor hozzáférhet. Így nézhet ki:
python3 backup.py 2023-01-01
Az előző kódban a "2023-01-01" sztring használható a program utasításaként, backup.py a biztonsági mentést ettől a dátumtól kezdve elindítani. A parancssori argumentumok használatával a rugalmasságot érheti el. A program a külső bemenetétől függően eltérően viselkedhet.
Parancssori argumentumok
Hogyan vannak rögzítve ezek a parancsok a dolgok kódolási oldalán? A modul használatával sys
lekérheti a parancssori argumentumokat, és felhasználhatja őket a programban. Tekintse meg a következő kódot:
import sys
print(sys.argv)
print(sys.argv[0]) # program name
print(sys.argv[1]) # first arg
sys.argv
egy tömb vagy adatstruktúra, amely sok elemet tartalmaz. A tömbben szereplő első pozíció 0
tartalmazza a program nevét. A második pozíció az 1
első argumentumot tartalmazza. Tegyük fel, hogy a program backup.py tartalmazza a mintakódot, és a következőképpen futtatja:
python3 backup.py 2023-01-01
A program ezután a következő eredményt adja:
['backup.py', '2023-01-01']
backup.py
2023-01-01
Felhasználói bevitel
Az adatok programba való továbbításának másik módja, ha a felhasználó megadja az adatokat. Kóddal megadhatja, hogy a program rávehesse a felhasználót az adatok megadására. Mentse a megadott adatokat a programban, majd végezze el a műveleteket.
A felhasználó adatainak rögzítéséhez használja a függvényt input()
. Here's an example:
print("Welcome to the greeter program")
name = input("Enter your name: ")
print("Greetings " + name)
Tegyük fel, hogy a program input.py tartalmazza a mintakódot, és a következőképpen futtatja:
python3 input.py
A program futtatása meghívja Önt, hogy adja meg a nevét, például:
Welcome to the greeter program
Enter your name:
Miután beírt egy értéket, és lenyomta az Enter billentyűt, a következő üdvözlés lesz visszaadva:
Welcome to the greeter program
Enter your name: Picard
Greetings Picard
Számok kezelése
A input()
függvény sztringként tárolja az eredményt, ezért előfordulhat, hogy a következő kód nem azt teszi, amit szeretne:
print("calculator program")
first_number = input("first number: ")
second_number = input("second number: ")
print(first_number + second_number)
A program futtatása meghívja, hogy adja meg az első számot, mondjuk 3
:
calculator program
first number: 3
Az Enter billentyűt lenyomva beírhatja a második számot, például4
:
calculator program
first number: 3
second number: 4
Az Enter billentyű lenyomásával a következő eredményt kaphatja:
calculator program
first number: 3
second number: 4
34
Valószínűleg arra szánta ezt a programot, hogy válaszoljon ahelyett 7
34
, hogy . Szóval mi történt?
A magyarázat az, hogy first_number
és second_number
sztringek. Ahhoz, hogy a számítás megfelelően működjön, a függvény használatával számra kell módosítania ezeket a int()
sztringeket. A program utolsó használni int()
kívánt sorának módosításával megoldhatja a problémát:
print(int(first_number) + int(second_number))
A program újrafuttatása ugyanazokkal az értékekkel, 7
mint a válasz:
calculator program
first number: 3
second number: 4
7