Mi hiányzik a scriptből?(Python)
A feladat az lenne, hogy az n szám bevitele után írja ki a 3-mal osztható számokat és azok szorzatát.
A próbálkozásom az alábbi:
n=int(input("Vigyen be egy számot:"))
if n%3==0:
print(list(range(3,n+1,3)))
else:
print("A szám nem osztható hárommal.")
Innen még hiányzik az a rész, amikor a listák elemeit összeszorozza(Esetemben ha n=6, a kimenet 18 kellene legyen.)
Hogyan oldjam meg, hogy összeszorozza a lista elemeit?
összeg = 0
for i in range(3,n+1):
összeg += i
print(összeg)
Hogy őszinte legyek, elég homályos, hogy pontosan mit is akarsz... valami ilyesmi:
"összeszorozza a lista elemeit"
Csinálhatsz rá ciklust, vagy a reduce függvény is használható.
from functools import reduce
szorzat = reduce((lambda x, y: x * y), eredeti_lista)
Több lehetöséged is van a lista elemeinek összeszorzására.
Egy ciklussal végig mész rajta, egy változóban tárolod a köztes értékeket:
szorzat = 1
for i in lista:
....szorzat = szorzat * i
print(szorzat)
van egy érdekesebb módszer is:
reduce(lambda a,b: return a*b, lista)
ennek megértéséhez ajánlom a reduce függvény dokumentációját: [link]
jó tanulást!
ez összeszorozza a lista elemeit.
További 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!