MENÜ

Honlap címe

Előző - #2 Hőmérséklet átalakítás | Tartalomjegyzék | Következő - #4 Terület és kötet

3. GYAKORLAT: PÁRATLAN ÉS PÁROS

páratlan(13)  →  igaz
páros(13)  →  hamis

Annak meghatározása, hogy egy szám páros vagy páratlan, egy általános számítás, amely a modulo operátort használja. A 2. gyakorlathoz, a „Hőmérséklet-átalakításhoz” hasonlóan a gyakorlat megoldási funkcióinak funkciói akár egy sor hosszúak is lehetnek.

Ez a gyakorlat a % modulo operátort és a modulo-2 aritmetika technikáját mutatja be annak meghatározására, hogy egy szám páros vagy páratlan.

Gyakorlat leírása

Írjon két függvényt, isOdd()és az isEven() -t egyetlen szám nevű numerikus paraméterrel . A isOdd()függvény visszaadja, Trueha numberpáratlan és Falseha number páros. A isEven()függvény az igaz értéket adja vissza , ha numberpáros, és a False értéket , ha numberpáratlan. Mindkét függvény Falsetörtrészes számokra tér vissza, például 3.14vagy -4.5. A nullát páros számnak tekintjük.

Ezek a Python- assertutasítások leállítják a programot, ha feltételük False. Másolja őket a megoldási program aljára. Az Ön megoldása akkor helyes, ha a következő assertállítások feltételei mind igazak :

assert isOdd(42) == False

assert isOdd(9999) == Igaz

assert isOdd(-10) == Hamis

assert isOdd(-11) == Igaz

assert isOdd(3.1415) == Hamis

assert isEven(42) == Igaz

assert isEven(9999) == False

assert isEven(-10) == Igaz

assert isEven(-11) == False

assert isEven(3.1415) == False

Próbáljon megoldást írni a leírásban szereplő információk alapján. Ha továbbra is problémái vannak ennek a gyakorlatnak a megoldásával, további tippekért olvassa el a Megoldástervezés és a Különleges esetek és Gotchák című részt.

Előfeltétel fogalmak: modulo operátor

Megoldás tervezése

Lehet, hogy nem tudja, hogyan írjon olyan kódot, amely megállapítja, hogy egy szám páratlan vagy páratlan. Ezt a fajta gyakorlatot könnyű megoldani, ha már tudod, hogyan kell megoldani, de nehéz, ha magadnak kell újra feltalálnod a megoldást. Nyugodtan keressen válaszokat az interneten felmerülő kérdéseire. Adja meg a programozási nyelv nevét, ha pontosabb eredményeket szeretne kapni, például a „ python megtudja, hogy egy szám páratlan vagy páros-e ”. A https://stackoverflow.com kérdés-felelet webhely általában a keresési eredmények tetején található, és megbízhatóan közvetlen, jó minőségű válaszokat ad. A programozási válaszok online keresése nem „csalás”. A professzionális szoftverfejlesztők naponta több tucatszor keresnek választ!

A %modulo operátor módosíthat egy számot, hogy 2meghatározza annak páratlanságát vagy páratlanságát. A modulo operátor egyfajta „megosztási maradék” operátorként működik. Ha egy számot elosztunk -vel, 2és a maradék 1 , akkor a számnak páratlannak kell lennie. Ha a maradék 0 , akkor a számnak párosnak kell lennie. Például 42 % 20 , ami azt jelenti, hogy 42 páros . De 7 % 2az 1 , ami azt jelenti, hogy 7furcsa.

A lebegőpontos számok, például 3.1415 nem páratlanok és nem párosak, ezért mindkettőnek isOdd()és az isEven()-False nek vissza kell térnie .

Ne feledje, hogy a megírt isOdd()és isEven() függvénynek logikai igaz vagy Falseértéket kell visszaadnia, nem pedig egész számot 0vagy 1. Logikai érték előállításához egy ==vagy összehasonlító operátort kell használnia : kiértékeli -re , ami viszont True -ra értékeli ki .!=7 % 2 == 11 == 1

Különleges esetek és Gotchák

A nem egész számok, mint például 4.5a vagy 3,1415, nem páratlanok és nem párosak, ezért mindkettő páratlan () és isEven()vissza kell térnie Falserájuk.

Most próbáljon meg egy megoldást írni az előző szakaszok információi alapján. Ha továbbra is problémái vannak a gyakorlat megoldásával, olvassa el a Megoldássablon részt további tippekért.

Megoldás sablon

Próbáljon először megoldást írni a semmiből. De ha nehézségei vannak, akkor a következő részprogramot használhatja kiindulási helynek. Másolja ki a következő kódot a https://invpy.com/oddeven-template.py webhelyről , és illessze be a kódszerkesztőbe. Cserélje ki az aláhúzást kódra, hogy működő programot készítsen:

def isOdd(szám):

    # Visszatérés, hogy a mod 2 szám 1-e:

    vissza ____ % 2 == ____

 

def isEven(szám):

    # Visszatérés, hogy a mod 2 szám 0-e:

    vissza ____ % 2 == ____

A gyakorlat teljes megoldását az A függelék és a https://invpy.com/oddeven.py tartalmazza . A program minden lépését megtekintheti, amint az egy hibakereső alatt fut a https://invpy.com/oddeven-debug/ oldalon .

További irodalom

%A modulo operátor többféleképpen használható . Többet megtudhat róluk a „Python Modulo in Practice: How to Use the % Operator” című oktatóanyagban a https://realpython.com/python-modulo-operator/ címen .

Előző - #2 Hőmérséklet átalakítás | Tartalomjegyzék Következő - #4 Terület és kötet

 

 

Asztali nézet