Műveletek gyakorlása

Másodfokú függvény

A feladat egy másodfokú függvény megvalósítása. A cél, hogy a konzolba beírt paraméterekkel helyes eredményt írjon ki a program. Vegyük végig lépésenként, hogyan oldható ez meg!

  1. Készítsünk egy új PyCharm projektet! Kattintsunk a File / New Project... menüpontra! Adjuk meg a projekt mentési útvonalát! Ez végződjön a QuadraticFunc könyvtárnévre! Ez lesz az új projekt neve. A Location sor alatt remélhetőleg a Python Interpreter: Python 3.10 felíratot látjuk. Hogyha mégsem, akkor a IDE telepítő fejezetben leírt módon állítjuk be. Hagyjuk bepipálva a Create a main.py welcome script lehetőséget! Így kevesebb munkánk lesz.
  2. Ismerős a környezet, ismerős a kód. Ezt fogjuk testreszabni, hogy a mi általunk kívánt viselkedést produkálja. Kezdjük a print_hi függvény átnevezésével! Legyen a neve például quadratic. Ne felejtsük el ezt mindkét előfordulási helyen átírni! Egyszer a függvény definíciójánál és egyszer a hívásnál.
  3. A másodfokú függvény egy x számot fog paraméterül fogadni. Nevezzük át a függvény fejlécében a name paramétert x-re!
  4. Most kezdődik a tényleges funkció megvalósítása. A print sor előtt vegyünk fel három változót!
                                
        a = 10
        b = 9
        c = 8                                
                                
                            
    Az számértékeket válasszuk meg nekünk tetszőre!
  5. Vegyünk fel egy y változót, amihez a függvény értékét rendeljük! Itt kerül implementációra a számítás.
  6.                         
        y = a * x**2 + b * x + c                            
                            
                        
  7. Most változtassuk meg a print tartalmát! Írjuk ki az f'F(x) = {y}' stringet! A kis f-fel jelölt stringbe kapcsos zárójelek között változókat lehet beágyazni.
                                
        print(f'F(x) = {y}')
                                
                            
  8. Kész a függvényünk. Ami, hátra van az a használata. Először is szeretnénk, ha a felhasználó tudná megadni, hogy milyen x értékkel számoljunk. Ehhez a if __name__ == '__main__': részben, a quadratic meghívása előtt írjuk a következő sort!
                                
        x = float(input('Add meg az X értékét: '))
                                
                            
    Az inputtal korábban még nem találkoztunk, viszont nagyon hasznos függvémy lesz a gyakorláshoz. Ez kiírja a paraméterül adott stringet, majd várakozni fog addig, amíg a felhasználó nem ír be valamit és nem ad entert. Ekkor az input visszatérési értéke a beírt érték lesz. Csakhogy ez a visszatérési érték string típusú. Ezért kell a float() függvénnyel számmá alakítani. Egyébként a másodfokú függvénybe is szövegként kerülne és nem működnének jól a műveletek.
  9. Végül adjuk át az itt létrehozott x változót a quadratic függvénynek!
                                
        quadratic(x)
                                
                            
Készen vagyunk!

A teljes programkódnak így kell kinézni:

                        
def quadratic(x):
    a = 10
    b = 9
    c = 8
    y = a * x**2 + b * x + c
    print(f'F(x) = {y}')

    
if __name__ == '__main__':
    x = float(input('Add meg az x értékét: '))
    quadratic(x)
                        
                    
Futtatva a kódot a képernyő alján, a konzolban jelenik meg a kiírt szöveg. Mi is ide tudjuk beírni a kért x értéket.

Jótanácsok / tanulság

  1. Figyeljünk a kód indendálására! Ez azt jelenti, hogy a betolásoknak / sor elei szóközöknek fontos szerepe van. Ebből tudja a fordító, hogy mi tartozik egy függvénytörzshöz. A quadratic() függvény törzsének minden sora legyen a def-es sortól négy szóközzel beljebb tolva Ez érvényes az if __name__ == '__main__': sor utáni sorokra is. Azok is az if-hez képest négy szóközzel legyenek beljebb!
  2. A változónevek és műveleti jelek közt érdemes szóközt hagyni a jobb olvashatóság érdekében. A ** operátor esetében most kivételt tettem, mert az valamennyire speciális szerepet tölt be a kifejezésben, de ott is lehetne szóközöket hagyni.
  3. Amennyiben nem törekszünk a különösebb optimalizálásra, (Márpedig nem törekszünk ilyesmire.), akkor jó ötlet a különböző részszámítások eredményét külön, új változókba menteni. Ezek elnevezése később segíteni fog rájönni, hogy korábban mit akartunk csinálni a kódunkkal. Most ezt a x = float(input('')) sorban és a y = ... sorban tettük meg. Így látszott, hogy az első a függvény bemenete, a második az eredménye. Általában hosszabb változó neveket használunk, amik jobban kifejezik a változók szerepét. Jelenleg a másodfokú függvényeknél használatos standard elnevezéseket használtam.