Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Segítség

7963
Hogy kell python-on négyzetre emelni és gyököt vonni?
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Középiskola / Informatika

Válaszok

1
Két módon lehet. Az egyik a beépített hatványoperátor, a **. Ezt így kell használni
>>> 3**2
9
>>> 3**3
27
Azaz az a**b az `a^b` műveletnek felel meg. Egész hatványalap esetén ezt ajánlott használni, de nem kötelező a paramétereknek egészeknek lennie. Mivel a négyzetgyököt fel lehet fogni, mint `1/2`-ik hatvány, ezért négyzetgyökvonáshoz csinálhatod ezt:
>>> 4**0.5
2.0

A másik módszer a math könyvtár használata. Ezek a függvények (ha jól tudom) C függvényeket hívnak meg, ezért gyorsabbak. Hátrányuk, hogy mindent átalakítanak float típussá (a gyökvonásnál nem egész hatványkitevő esetén a fenti is átalakít), ezért pontatlanságok következhetnek be egészek hatványozásakor (ezért érdemes a **-ot használni). A használata:
>>> import math
>>> math.pow(3, 2)
9.0
>>> math.pow(3, 3)
27.0
>>> math.pow(4, 0.5)
2.0
>>> math.sqrt(4)
2.0
A legutolsó példa mutatja, hogy van különálló függvény a négyzetgyökre (angolul SQareRooT, innen a függvény neve.)

EDIT:
Ha a kör sugara `r`, akkor a kör területét úgy kapod meg, hogy `r^2\pi`, a kerületét meg úgy, hogy `2r\pi`. Ezt használva megírhatod az alábbi 3 sort:

r = float(input("Mennyi a kör sugara? "))
print(f"A kör területe: {r**2 * 3.14}")
print(f"A kör kerülete: {2*r*3.14}")

Ha ezt lefuttatod, akkor a program először moegkérdezi, hogy mennyi a kör sugara. Mivel az input() függvény string értéket ad vissza, és azzal nem lehet számolni, át kell alakítani a függvény kimenetét valami számmá. Mivel a bemenet valós, a float() függvény segítségével float adattípusúvá alakítjuk a bemenetet (float=tizedes tört).
Ezután két sor kimenet lesz. Az első sor a kör területét írja ki, a második a kerületét. Ehhez egy úgynevezett f-string-et lehet használni, ezt az f jelzi az idézőjel előtt. Az f-string úgy működik, hogy a kapcsos zárójelekben lévő dolgokat elvégzi, majd azokat átalakítja szöveggé, és behelyettesíti őket a kapcsos zárójel helyére.
Mivel ezt valószínűleg még nem kell ismernetek, használhatod az alábbi alternatívákat is:

print("A kör területe: ", r**2 * 3.14)

A = r**2 * 3.14
print("A kör területe: ", A)

A = str(r**2 * 3.14)
print("A kör területe: " + A)

print("A kör területe: {}".format(r**2 * 3.14))

Feltételezhetően ezt az utolsót sem ismeritek még. Mindenesetre (a teljesség igénye nélkül) ezekkel a módszerekkel tudod az eredményt megfelelően kiírni.

Kimaradt, hogy itt ugyan 3.14-et használtam, mint pi, de nagyobb pontosság érdekében van egy olyan konstans a math könyvtárban, hogy math.pi. Ez nagyobb pontossággal tárolja a pi értékét.
Módosítva: 3 éve
0