Keresés

Keresendő kifejezés:

Toplista

Toplista
  • betöltés...

Segítség!

Ahhoz, hogy mások kérdéseit és válaszait megtekinthesd, nem kell beregisztrálnod, azonban saját kérdés kiírásához ez szükséges!

Segítség

38
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: 1 hete
0