Ezt a feladatot hogyan kódolom le?
Adjon meg egy alsó és felső határt, majd ezen határokon belül adjuk össze az 5-tel osztható számokat és írassuk ki őket!
Sok mindent próbáltam már, internetről is másoltam kódot, de nem jó. Pythonban kell csinálni
10. Nem hulladék, mert ez Python, és ez az egyik idiomatikus megoldás. Lehetne még ezt is gyorsítani mindenféle trükkökkel, de gondolom a sebesség nem elsődleges szempont a kérdezőnél.
Amúgy ha már okoskodtok, van a problémának szerintem algebrai megoldása is, így egyetlen képlettel ki lehet számolni az összeget, nem kell iterálgatni semmit.
#11 idiomatikus max akkor lenne, ha nem generalnal feleslegesen egy listat, mint valami idiota.
10. Tessék, retardkám, algebrai megoldás. Nem iterálgatok semmit. Ezzel elégedett vagy?
a, b = 123,213
if a%5>0: a = (a - a%5) + 5
if b%5>0: b = b - b%5
n = ((b-a)/5) + 1
total = int(n * (a + b) / 2)
print(total)
Kommentekkel:
a, b = 123,213
# Kiszámoljuk az alső és felső még épp 5-tel osztható számot
if a%5>0: a = (a - a%5) + 5
if b%5>0: b = b - b%5
# Kiszámoljuk, hány darab 5-tel osztható szám van összesen az intervallumban
n = ((b-a)/5) + 1
# Kiszámoljuk a számok összegét
total = int(n * (a + b) / 2)
# Kiírjuk
print(total)
12. Rendben, a listát felesleges volt összerakni, de ettől a megoldás még nem "hulladék", csak esetleg van jobb. Erre azt szokás írni, hogy "sőt, még a list comprehension sem kell" stb.
Mint ahogyan én sem hulladékoztalak, szaroztalak te titeket csak azért, mert egyből iterálni stb. akartok egy olyan problémát, amelynek van egyébként algebrai megoldása (ld. a 13. hsz-t). Igaz, az eredeti megoldásomat 30mp alatt pötyögtem be mobiltelefonról a wc-n, ezen meg gondolkodnom kellett 2 percig, hogy mi a megoldás.
Szomorú, ahova a magyar IT piac tart, ez az agresszív, beszólogatós szubkultúra...
Nem a megoldás a probléma alapvetően, hanem, hogy jön egy kérdező, behányja ide a házi feladatát, annyi fáradtságot nem vesz, hogy ChatGPT-vel megoldassa, te meg igazi csicska módjára megcsinálod helyette csettintésre.
Az első válaszoló nem véletlenül kérdezte, hogy hol akadt el, meddig jutott.
Ennyi volna csak a megoldás nem?:
sum=int((max/5))*5
17. Már hogy lenne ez?
93, 107 outputjának 95+100+105 = 300-nak kéne lennie
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!