matrix = [[1, 2, 3, 4, 5],
[5, 6, 7, 8, 9],
[4, 5, 6, 43, 3]]
def maximum(matrix):
for sor in matrix:
pass
return max(sor)
for sor in matrix:
print(sor,maximum([sor]), max(sor))
maximum(matrix)
megvan, így működik, köszi
Ha megengedsz két (három) segítő szándékú kérdést:
A for sor in matrix: után miért van egy pass? Meg egyáltalán miért van abban a függvénydefinícióban a for ciklus, ha utána szintén egy for cikluson belül hívod meg a függyvényt? A belső for ciklus tulajdonképpen nem csinál semmit.
Az utolsó maximum(matrix) hívással mit akarsz elérni? Mármint ami a print sora után van? Az nem fog csinálni semmi hasznosat.
Ha megfogadsz egy tanácsot, akkor a függvények paramétereit és lokális változóit ne úgy nevezd el, hogy a neveik megegyeznek globális változók neveivel. A PyCharm nem fog rá hibát kiírni legfeljebb egy weak warningot, de nagyon könnyű így belekavarodni, hogy mi micsoda.
(Egyébként ha for cikluson belül return van, az megszakítja a függvény futását, és csak az első iteráció által adott értéket kapod vissza. Ha azt akarod, hogy több értéket tudjon egymás után visszaadni a függvényed, akkor a yield-et kell használni, vagy el kell menteni a köztes értékeket egy helyi változóba, és azt a változót return-nölni. Hogy melyik megoldás lesz a nyerő, az attól függ mit akarsz konkrétan csinálni, 1 hívással akarod az összes eredményt visszakapni, vagy többször akarod a függvényt hívni hogy egyesével adja az eredményeket.)
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!