A legegyszerűbb kalkulátor írása pythonban 3
A kiszolgálók elhelyezése megbízható európai adatközpontokba. Nyissa meg a felhőalapú VPS / VDS szervert gyors SSD-ken 1 percen belül!
Legjobb tárhely:
- védi az adatokat a nem kívánt hozzáféréstől egy védett európai adatközpontban
- elfogadja a fizetést legalább a bitcoinban.
- elosztja terjesztését
- védelem a DDos támadásoktól
- mentes mentés
- Uptime 99.9999%
- Adatközpont - TIER III
- szolgáltató - TIER I
Támogatjuk az oroszban 24/7/365 Jogi személyekkel és természetes személyekkel dolgozunk. Most szüksége van 24 magra és 72 GB RAM-ra. Kérlek!
Kedvező tarifáink bizonyítják, hogy még nem tudta az olcsó tárhelyet!
Perc: válassza ki a konfigurációt, a fizetést és a CMS-t a VPS készen áll.
Pénzvisszafizetés - 30 nap!
Bankkártyák, e-deviza, Qiwi, Webmoney, PayPal, Novoplat stb.
Kérdezzen a 24/7/365 támogatáshoz
Válaszokat talál az adatbázisunkban, és ismerkedjen meg az ajánlásokkal
A Python programnyelv kiválóan alkalmas számok és matematikai kifejezések feldolgozására. Ebből a minőségből hasznos programokat hozhat létre.
Ebben a kézikönyvben hasznos gyakorlatot kínál: próbáljon egyszerű parancssori programot készíteni a számítások elvégzéséhez. Tehát ebben a bemutatóban megtudhatja, hogyan lehet a legegyszerűbb számológépet létrehozni a Python 3-ban.
A kézikönyv matematikai operátorokat, változókat, feltételes kifejezéseket, függvényeket használ.
követelmények
Az útmutató futtatásához telepítenie kell a Python 3-at a helyi gépre és telepítenie kell a fejlesztői környezetet. Minden szükséges utasítás megtalálható itt:
- A Python 3 helyi fejlesztői környezetének konfigurálása a CentOS 7-ben
- A helyi fejlesztői környezet konfigurálása a Python 3 rendszerhez a Windows 10 rendszerben
- A helyi fejlesztői környezet konfigurálása a Python 3 számára Mac OS X rendszerben
- A helyi fejlesztői környezet beállítása a Python 3 számára Ubuntorban 16.04
1: Beviteli karakterlánc
Először meg kell adnia egy bemeneti sort, amellyel a felhasználók a számológépben számításokhoz adhatnak adatokat.
Ehhez használja a beépített funkcióbevitelt (), amely elfogadja a felhasználó által létrehozott billentyűzetbevitelt. A bemeneti () függvény zárójeleként átadhatja a karakterláncot. A felhasználói bevitelhez egy változót kell rendelni.
Ebben a programban a felhasználó két számot adhat meg. Bemenet lekérésekor fel kell adnia egy helyet a vonal végén ahhoz, hogy elkülönítse a felhasználói bevitelt a programsorból.
number_1 = bemenet ('Adja meg első számát:')
number_2 = input ('Adja meg második számát:')
A program elindítása előtt mentse el a fájlt. Például hívjuk a calculator.py számot. A programot a fejlesztői környezet terminál ablakában futtathatja a parancs segítségével:
A program kéri, hogy írjon be két számot:
Adja meg első számát: 5
Adja meg második számát: 7
Abban a pillanatban a számológép elfogadja a bemeneti adatokat, amelyek nem korlátozódnak a számokra: szavakra, szimbólumokra, szóközökre, még beírni. Ez azért van, mert a bemeneti () függvény az adatokat sztringként veszi át, és nem tudja, hogy ebben az esetben csak számok szükségesek.
Ahhoz, hogy a program matematikai számításokat hajtson végre, a számokon kívül más adatokat nem fogadhat el.
A céltól függően kalkulátor program képes konvertálni funkció line input (), hogy egész vagy lebegőpontos szám. Ebben az esetben az egész számok megfelelőbbek. A bemenet () függvényt az int () függvényen belül át kell adni, hogy a bemenetet egész számgá alakítsa.
number_1 = int (bemenet ('adja meg első számát:'))
number_2 = int (bemenet ('adja meg második számát:'))
Most próbálj meg két egész számot beírni:
Adja meg első számát: 23
Adja meg második számát: 674
Minden hiba nélkül működik. Ha karaktereket, tereket vagy betőket ír be, akkor a program hibát ad vissza:
Írja be első számát: hello
Traceback (utolsó legutóbbi utolsó hívás):
Fájl: "testing.py", 1. sor,
number_1 = int (bemenet ('adja meg első számát:'))
ValueError: érvénytelen literál az int () számára az alap 10: 'hello'
Így írt egy sorot, amelybe beírhatod az adatokat a programba.
Megjegyzés. Próbálja meg a beviteli adatokat önállóan lebegőpontos számokká alakítani.
2: Operátorok hozzáadása
Most négy alapvető operátort kell hozzáadnunk: + (addíció), - (kivonás), * (szorzás) és / (osztás).
Jobb, ha a programot fokozatosan fejleszteni kell, annak érdekében, hogy minden szakaszban tesztelhesse.
Először add hozzá az átadás operátort. Helyezze a két számot a nyomtatásba úgy, hogy a számológép megjeleníti az eredményt.
number_1 = int (bemenet ('adja meg első számát:'))
number_2 = int (bemenet ('adja meg második számát:'))
nyomtatás (number_1 + number_2)
Futtassa a programot, és próbáljon meg hozzáadni két számot:
Adja meg első számát: 8
Adja meg második számát: 3
11
Most kissé megnehezítheti a programot. Az eredmény mellett a számológép a felhasználó által megadott számokat is megjeleníti.
number_1 = int (bemenet ('adja meg első számát:'))
number_2 = int (bemenet ('adja meg második számát:'))
nyomtatás ('<> + <> = '.format (number_1, number_2))
nyomtatás (number_1 + number_2)
Futtassa újra a programot, és próbálja meg megadni a számokat:
Adja meg első számát: 90
Adja meg második számát: 717
90 + 717 =
807
Most biztos lehet benne, hogy a megfelelő számokat beírta.
Ebben a szakaszban hozzáadhatja a többi operátort ugyanazon formában:
number_1 = int (bemenet ('adja meg első számát:'))
number_2 = int (bemenet ('adja meg második számát:'))
# Addition
nyomtatás ('<> + <> = '.format (number_1, number_2))
nyomtatás (number_1 + number_2)
# Kivonás
nyomtatás ('<> - <> = '.format (number_1, number_2))
nyomtatás (number_1 - number_2)
# Szorzás
nyomtatás ('<> * <> = '.format (number_1, number_2))
nyomtatás (number_1 * number_2)
# Osztály
nyomtatás ('<> / <> = '.format (number_1, number_2))
nyomtatás (number_1 / number_2)
Most a számológép elvégezhet matematikai számításokat a +, -, * és / operátorok segítségével. Ezután korlátozni kell a program által végrehajtott műveletek számát egy időben.
3: Kondicionált üzemeltető hozzáadása
Adjon hozzá egy kis leírást a calculator.py program elejére a rendelkezésre álló műveletek listájával. Az egyik kezelő kiválasztásával a felhasználó megmondja a programnak, hogy pontosan mit kell tennie.
'' '
Kérjük, írja be a teljes matematikai műveletet:
+ kiegészítéshez
- kivonás céljából
* a szorzáshoz
/ a megosztáshoz
'' '
Megjegyzés. Valójában bármilyen karaktert használhat itt (például 1 az addícióhoz, b a kivonáshoz stb.).
Adja át a stringet a bemenet () függvényen belül, és hozzárendeljen egy változót a bemeneti értékhez (például ez lesz műveleti változó).
operation = bemenet ('' '
Kérjük, írja be a teljes matematikai műveletet:
+ kiegészítéshez
- kivonás céljából
* a szorzáshoz
/ a megosztáshoz
'' ')
number_1 = int (bemenet ('adja meg első számát:'))
number_2 = int (bemenet ('adja meg második számát:'))
nyomtatás ('<> + <> = '.format (number_1, number_2))
nyomtatás (number_1 + number_2)
nyomtatás ('<> - <> = '.format (number_1, number_2))
nyomtatás (number_1 - number_2)
nyomtatás ('<> * <> = '.format (number_1, number_2))
nyomtatás (number_1 * number_2)
nyomtatás ('<> / <> = '.format (number_1, number_2))
nyomtatás (number_1 / number_2)
Ebben a sorban a felhasználó megadhat bármely javasolt karaktert, de semmi sem fog történni. Ahhoz, hogy a program működjön, feltételes nyilatkozatot kell adnia. Az if nyilatkozat felelős a kiegészítésért, a három operátor elif a fennmaradó műveletekhez; a másik utasítás hibát ad vissza, ha a felhasználó a javasolt operátorok helyett más karaktert adott be.
operation = bemenet ('' '
Kérjük, írja be a teljes matematikai műveletet:
+ kiegészítéshez
- kivonás céljából
* a szorzáshoz
/ a megosztáshoz
'' ')
number_1 = int (bemenet ('adja meg első számát:'))
number_2 = int (bemenet ('adja meg második számát:'))
ha művelet == '+':
nyomtatás ('<> + <> = '.format (number_1, number_2))
nyomtatás (number_1 + number_2)
elif művelet == '-':
nyomtatás ('<> - <> = '.format (number_1, number_2))
nyomtatás (number_1 - number_2)
elif művelet == '*':
nyomtatás ('<> * <> = '.format (number_1, number_2))
nyomtatás (number_1 * number_2)
elif művelet == '/':
nyomtatás ('<> / <> = '.format (number_1, number_2))
nyomtatás (number_1 / number_2)
más:
print ('Nem írt be érvényes operátort, kérjük, futtassa újra a programot.')
Tehát először a program kéri a felhasználót, hogy adja meg a művelet szimbólumát. Aztán két számot kér. Ezután megjeleníti a felhasználó bemenetet és a számítás eredményét. Például a felhasználó beírja a *, majd az 58-at és a 40-et.
Kérjük, írja be a teljes matematikai műveletet:
+ kiegészítéshez
- kivonás céljából
* a szorzáshoz
/ a megosztáshoz
*
Kérjük, adja meg az első számot: 58
Adja meg a második számot: 40
58 * 40 =
2320
Ha a program első kérésére a felhasználó beírja a% karaktert, akkor hibaüzenetet kap.
Jelenleg a program elvégzi az összes szükséges számítást. Azonban egy másik művelet végrehajtásához a programot újra kell indítani.
4: A funkciók meghatározása
Annak biztosítása érdekében, hogy a programot ne kelljen újraindítani minden egyes feldolgozott példa után, több funkciót is meg kell határoznia. Először a számítás () függvényben adja meg az összes meglévő kódot, és add hozzá még egy réteget a programhoz. A program elindításához fel kell vennie egy függvényt a fájl végére.
# Funkciómeghatározás
def számít ():
operation = bemenet ('' '
Kérjük, írja be a teljes matematikai műveletet:
+ kiegészítéshez
- kivonás céljából
* a szorzáshoz
/ a megosztáshoz
'' ')
number_1 = int (input ('Kérjük, írja be az első számot:'))
number_2 = int (input ('Kérjük, írja be a második számot:'))
ha művelet == '+':
nyomtatás ('<> + <> = '.format (number_1, number_2))
nyomtatás (number_1 + number_2)
elif művelet == '-':
nyomtatás ('<> - <> = '.format (number_1, number_2))
nyomtatás (number_1 - number_2)
elif művelet == '*':
nyomtatás ('<> * <> = '.format (number_1, number_2))
nyomtatás (number_1 * number_2)
elif művelet == '/':
nyomtatás ('<> / <> = '.format (number_1, number_2))
nyomtatás (number_1 / number_2)
más:
print ('Nem írt be érvényes operátort, kérjük, futtassa újra a programot.')
# A függvény hívása kiszámítja () a funkción kívül
számít ()
Hozzon létre egy másik függvényt, amely feltételes utasításokat tartalmaz. Ez a kódblokk lehetővé teszi a felhasználó számára, hogy: folytassa a programmal való munkát vagy kiegészítse azt. Ebben az esetben három operátor lesz: egy, ha egy elif és egy másik a hibakezeléshez.
Engedje újra a funkciót (). Adja hozzá a def calculate () blokk végéhez:
# A funkció újbóli megadása ()
def ismét ():
# Felhasználó bemenet
calc_again = input ('' '
Szeretné újra kiszámolni?
Kérjük, írja be az Y-t YES-re vagy N-re NO-ra.
'' ')
# Ha a felhasználó belép Y-be, a program elindítja a függvény számítását ()
ha calc_again == "Y":
számít ()
# Ha a felhasználó belép N-be, akkor a program elbúcsúzik és befejezi a munkát
elif calc_again == 'N':
print ("Lásd később.")
# Ha a felhasználó más karaktert ad meg, a program újra elindítja a funkciót ()
más:
ismét ()
# Hívás számítása ()
számít ()
Akkor is kiküszöbölhető az ügyintézés érzékenysége: az y és n betűket ugyanúgy kell kezelni, mint az Y és az N. Ehhez hozzá kell adni a str.upper () függvényét:
def ismét ():
calc_again = input ('' '
Szeretné újra kiszámolni?
Kérjük, írja be az Y-t YES-re vagy N-re NO-ra.
'' ')
# Az 'y' vagy az 'Y' elfogadással adja hozzá a str.upper ()
ha calc_again.upper () == "Y":
számít ()
# Fogadja az 'n' vagy az 'N' szót a str.upper ()
elif calc_again.upper () == 'N':
print ("Lásd később.")
más:
ismét ()
.
Most újból hozzá kell adnunk a függvényt () a számítás () függvény végéhez, így a program futtatja a kódot, amely megkérdezi a felhasználót, hogy folytatja-e a munkát.
def számít ():
operation = bemenet ('' '
Kérjük, írja be a teljes matematikai műveletet:
+ kiegészítéshez
- kivonás céljából
* a szorzáshoz
/ a megosztáshoz
'' ')
number_1 = int (input ('Kérjük, írja be az első számot:'))
number_2 = int (input ('Kérjük, írja be a második számot:'))
ha művelet == '+':
nyomtatás ('<> + <> = '.format (number_1, number_2))
nyomtatás (number_1 + number_2)
elif művelet == '-':
nyomtatás ('<> - <> = '.format (number_1, number_2))
nyomtatás (number_1 - number_2)
elif művelet == '*':
nyomtatás ('<> * <> = '.format (number_1, number_2))
nyomtatás (number_1 * number_2)
elif művelet == '/':
nyomtatás ('<> / <> = '.format (number_1, number_2))
nyomtatás (number_1 / number_2)
más:
print ('Nem írt be érvényes operátort, kérjük, futtassa újra a programot.')
# A () függvény hozzáadása ()
ismét ()
def ismét ():
calc_again = input ('' '
Szeretné újra kiszámolni?
Kérjük, írja be az Y-t YES-re vagy N-re NO-ra.
'' ')
ha calc_again.upper () == "Y":
számít ()
elif calc_again.upper () == 'N':
print ("Lásd később.")
más:
ismét ()
számít ()
Futtassa a programot a terminálon a következő paranccsal:
A programot nem kell újraindítani.
5: További műveletek
Az írott program teljesen készen áll a használatra. Azonban van még sok kiegészítő, amelyet felvehet a kódra, ha akarod. Például írhat egy üdvözlő üzenetet, és hozzáadhatja a kód tetejéhez:
def welcome ():
nyomtatás ('' '
Üdvözöljük a számológépen
'' ')
.
# Akkor be kell hívnia a funkciót
üdvözlet ()
számít ()
A hibakezeléshez további funkciókat is hozzáadhat a programhoz. Például a programnak akkor is folytatnia kell a munkáját, ha a felhasználó egy szám helyett szót ír be. Jelenleg ez nem így van: a program hibát ad a felhasználónak és abbahagyja a munkát.
Ezenkívül, ha a felhasználó kiválasztja a 0 nevezőt a megosztási operátor (/) kiválasztásakor, akkor hibát kell kapnia:
ZeroDivisionError: osztás nullával
Ehhez írjon egy kivételt a próbával ... kivéve az operátort.
A program 4 operátorra korlátozódik, de bővítheti ezt a listát:
operation = bemenet ('' '
Kérjük, írja be a teljes matematikai műveletet:
+ kiegészítéshez
- kivonás céljából
* a szorzáshoz
/ a megosztáshoz
** a hatalomért
% modulo esetén
'' ')
.
# A modul felemeléséhez és feldolgozásához feltételes utasításokat kell adni a kódhoz.
Hurok utasításokat is hozzáadhat a programhoz.
A hibaelhárítás és az egyes projektek javításának számos módja létezik. Mindig fontos megjegyezni, hogy egyetlen vagy semmi probléma sem megoldható.
következtetés
Most már tudod, hogyan kell írni a legegyszerűbb számológépet. A kézikönyv végrehajtása után saját maga is hozzáadhatja a program új funkcióit.