Elkezdtem programozást tanulni pythonban könyvből, de elakadtam, help?
(1+1)**(5-2) = 8
Valaki elmagyarázná hogy jön ki a 8? 20 perce próbálok rájönni de nem értem
1 + 1 = 2
5 - 2 = 3
2 a harmadikon = 8
A ** a hatványozás operátora, tehát itt kettőt emelsz a harmadik hatványra. Mégis, mi szerepe lenne akkor az (5 - 3) kifejezésnek? És gondolod, ha valamit a huszadik hatványra emelsz, akkor húsz csillagot írsz egymás után? Értsd így:
(1+1) művelet eredményét ennyiszer szorozd meg önmagával: (5-2)
Ezt a sok dumát spórolja meg neked, hogy duplacsillagot írhatsz helyette.
#4:
Mi tetszik? Minek lenne odaírva, ha figyelmen kívül lehetne hagyni? Próbálj tisztába jönni az alapokkal. Ez egy tanulságos példa arra, hogy zárójelezés nélkül nem mindig olyan sorrendben történnek a dolgok, ahogyan elsőre elképzelnéd.
Te így gondolod:
Beszorzom a hármat eggyel, az három. Ha ezt ezek után a tizedik hatványra emelem, az eredmény 59049, ami akárhogyan nézem, több, mint három, tehát a műveletsornak ezt a részét valami titokzatos oknál fogva a kukába kell hajítani mert különben nem jöhet ki az eredmény.
Hát nem. A hatványozás precedenciája magasabb a szorzásénál, vagyis előnyt élvez a számolásnál. Tehát a műveletek elvégzésének sorrendjében:
1 ** 10 = 1
3 * 1 = 3
Jé... Ha viszont a műveleteknek ezt a hétköznapi matematikából is ismert sorrendjét meg akarod változtatni, akkor ugyanúgy kell eljárnod, mint ott, vagyis a kisebb precedenciájú műveletet zárójelbe kell tenned, így:
(3 * 1) ** 10
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!