
Létra
Létra
1. A dobások tárolása
dobasok = [3, 1, 1, 2, 1, 5, 5, 4, 4, 4, 1, 2, 3, 6, 4, 6, 1, 4]
Ez egy lista, amely tartalmazza a játékos összes dobását. A program akkor is működik, ha ezt a listát később más számokra cseréled.
🟦 2. A játék menetének kiszámítása
A játékos a mezőkön halad, ezért kell egy változó:
mezo = 0
Ez azt jelenti: a játékos még az 1-es mező előtt áll.
A mezok lista eltárolja, hogy minden dobás után hol állt:
mezok = []
A létrára lépések számát itt gyűjtjük:
letra_db = 0
🔁 3. A dobások feldolgozása
A program végigmegy minden dobáson:
for dobas in dobasok:
mezo += dobas
Ez azt jelenti: Hozzáadjuk a dobott számot a jelenlegi mezőhöz.
🪜 4. Létramező ellenőrzése
A feladat szerint létramező az, ami 10‑zel osztható:
10
20
30
40
Ha a játékos ilyen mezőre lép:
if mezo % 10 == 0:
mezo -= 3
letra_db += 1
Tehát:
visszalép 3 mezőt
növeljük a létrára lépések számát
📝 5. Az aktuális mező eltárolása
mezok.append(mezo)
Így a végén szépen ki tudjuk írni a játék menetét.
🖨️ 6. Kiírás a mintának megfelelően
2. feladat – a játék menete
print("2. feladat")
print(" ".join(str(m) for m in mezok))
Ez így fog kinézni:
Kód2. feladat 3 4 5 7 8 13 18 22 26 27 28 27 27 33 37 43 44 48
3. feladat – hányszor lépett létrára?
print(f"A játék során {letra_db} alkalommal lépett létrára.")
4. feladat – befejezte-e a játékot?
A játék akkor ér véget, ha a játékos eléri vagy meghaladja a 45-öt.
if any(m >= 45 for m in mezok):
print("A játékot befejezte.")
else:
print("A játékot abbahagyta.")
Az any() azt vizsgálja: van-e olyan mező, ami legalább 45.
# letra.py
# 1. feladat – dobások tárolása
dobasok = [3, 1, 1, 2, 1, 5, 5, 4, 4, 4, 1, 2, 3, 6, 4, 6, 1, 4]
mezo = 0
mezok = []
letra_db = 0
# 2. és 3. feladat – játék menete + létrák számolása
for dobas in dobasok:
mezo += dobas
if mezo % 10 == 0:
mezo -= 3
letra_db += 1
mezok.append(mezo)
print("2. feladat")
print(" ".join(str(m) for m in mezok))
print("3. feladat")
print(f"A játék során {letra_db} alkalommal lépett létrára.")
# 4. feladat – befejezte-e a játékot?
print("4. feladat")
if any(m >= 45 for m in mezok):
print("A játékot befejezte.")
else:
print("A játékot abbahagyta.")
