Érettségi feladat, könnyebben, python?
Sziasztok!
Van egy érettségi feladat 2017-es.
4. feladat.
Írassa ki a képernyőre a helyes megoldást! A helyes megoldás alatti sorba „+” jelet tegyen,
ha az adott feladatot az előző feladatban kiválasztott versenyző eltalálta, egyébként egy
szóközt! A kiírást a mintának megfelelő módon alakítsa ki!
Hogy tudom ennél egyszerübben a két értéket összehasonlítani?
for index in range(len(a)):
if a[index] == b[index]:
Hát ha csak két listát kell összehasonlítani, akkor minek ciklus?
a == b
Lehet, hogy rosszul értettem a feladatot, és elemenként kell nézni.
A "range(len(iterable))" kerülendő. Helyette:
for index, elem in enumerate(a):
____if elem == b[index]
Vagy pl.
for e1, e2 in zip(a,b):
____if e1 == e2: ...
Így elvileg ok.
for index,elem in enumerate(versenyzo_valaszai):
if elem == helyes_valasz[index]:
print("+",end="")
else:
print(" ",end="")
Viszont lenne egy kérdésem,mert ez a ciklus szerkezet új nekem
a ciklus elején for index, elem mit takar? az index ok de az elem része minek? ezt nem értem.
vagy ilyen ide tölti be a versenző válaszait?
annál sokkal egyszerűbben nem igazán lehet:
#válaszok
a = ["B","C","C","A"]
#b emberke válasza
b = ["C","B","C","A"]
print([i for i, j in zip(a, b) if i == j])
Tulajdonképpen az enumerate hozzárendeli egy lista (vagy bármi iterable) elemeihez a hozzájuk tartozó indexet.
pl.
a = ["a", "b", "c"]
enumerate(a) -> [(0, "a"), (1, "b"), (2, "c")]
Ha ezen végigmész for ciklussal, akkor ciklusonként egy két elemű tuple-lal dolgozol, amit viszont ki lehet "csomagolni" két változóba.
A "for index, elem in ..." hasonló módon érvényes, mintha azt írnád, hogy:
index, elem = (0, "a")
Saját megoldás:
#4. feladat
print('\n','4. feladat:',sep='')
print(helyes_valasz, ' (a helyes megoldás)')
for index in range(len(f_valasz)):
if f_valasz[index] == helyes_valasz[index]:
print('+',end='')
else:
print(' ',end='')
print(' (a versenyző helyes válaszai)')
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!