
Kihívás
Kihívás
Kihívás
Középszint
2025_majus
aktivitas = input("1. feladat\nAdja meg az aktivitását: ")
- Magyarázat:
- A input() függvény megjelenít egy szöveget, a felhasználónak ki kell írnia az aktivitását (például: "FFFGGGUUUFFFGGKKK").
- A függvény visszaad egy stringet, amit az aktivitas nevű változóban tárolunk el.
- A szövegben az \n új sort eredményez, így a "1. feladat" külön sorban jelenik meg a prompt előtt.
# 2. feladat: Távolságok kiszámítása
- Magyarázat: Ez a komment jelzi, hogy az ezt követő kód a megadott aktivitásban szereplő mozgásformák által megtett távolságok összegének kiszámítására szolgál.
tavolsagok = {'U': 1, 'G': 1, 'F': 2, 'K': 10}
- Magyarázat:
- Létrehozunk egy szótárat (dict), amely kulcs-érték párokat tartalmaz.
- A kulcsok a mozgásformák kódjai:
- U az úszás, ami 1 km,
- G a gyaloglás, ami szintén 1 km,
- F a futás, ami 2 km,
- K a kerékpározás, ami 10 km.
- Ez a szótár segít majd a kódokhoz tartozó kilométerértékek egyszerű lekérdezésében.
osszes_tavolsag = sum(tavolsagok[mozg] for mozg in aktivitas)
- Magyarázat:
- Ez a sor végigiterál az aktivitas változóban lévő karaktereken (minden karakter megegyezik egy mozgásforma kóddal).
- A kifejezés tavolsagok[mozg] az adott karakterhez tartozó kilométerértéket adja vissza.
- A sum() függvény összeadja az összes értéket, így kiszámítva az össztávolságot, amit a felhasználó a héten elért.
print(f"2. feladat\nAz elért távolság: {osszes_tavolsag} km.")
- Magyarázat:
- Az f-string segítségével formázott szöveget írunk ki.
- A kimeneten először megjelenik a "2. feladat", majd új sorban az "Az elért távolság:" üzenet a kiszámolt osszes_tavolsag értékkel, kiegészítve a "km" mértékegységgel.
# 3. feladat: Jutalom kiszámítása
- Magyarázat: Ez a komment jelzi a harmadik feladat kezdő részét, amely a jutalom meghatározása a felhasználó aktivitása alapján.
if all(mozgas in aktivitas for mozgas in tavolsagok.keys()):
- Magyarázat:
- Az all() függvény egy generátor kifejezést vizsgál, amely végigiterál a tavolsagok.keys() által visszaadott összes mozgásforma kódon ('U', 'G', 'F', 'K').
- A kifejezés mozgas in aktivitas ellenőrzi, hogy az adott mozgásforma szerepel-e a megadott aktivitásban.
- Ha minden kód megtalálható az aktivitas stringben, az all() függvény True értéket ad vissza, különben False.
jutalom = 10
- Magyarázat: Ha a feltétel igaz (minden mozgásforma szerepel az aktivitásban), a jutalom változó értékét 10-re állítjuk.
print("3. feladat\nBravó! Jutalma még 10 km.")
- Magyarázat: Ebben az ágban, ahol minden mozgásforma szerepel, kiírjuk a "3. feladat" feliratot és a jutalom üzenetet, miszerint plusz 10 km jár a felhasználónak.
else:
jutalom = 0
- Magyarázat:
- Ha nem minden mozgásforma szerepel az aktivitásban, a else ág fut le.
- Itt a jutalom változót 0-ra állítjuk, mert nem jár jutalom a hiányzó mozgásformák miatt.
print("3. feladat\nNem jár jutalom.")
- Magyarázat: Ebben az esetben az üzenet azt jelez, hogy a jutalom nem jár, mert a felhasználó nem végezte mind a négy mozgásformát.
# 4. feladat: Eredmény kiírása
- Magyarázat: Ez a komment jelzi, hogy a negyedik feladatban a végeredményt kell kiszámítani és megjeleníteni.
vegso_tavolsag = osszes_tavolsag + jutalom
- Magyarázat:
- A vegso_tavolsag változó már tartalmazza a heti megtett távolságot plusz a jutalom (ha jár).
- Ez az érték fogja meghatározni a kihívás teljesítését.
print(f"4. feladat\nEredménye: {vegso_tavolsag} km.")
- Magyarázat:
- Az f-string segítségével formázva kiírjuk a "4. feladat" feliratot, majd a végső eredményt, ami a megtett távolság és a jutalom összege.
if vegso_tavolsag >= 40:
print("Gratulálok, kihívás teljesítve!")
- Magyarázat:
- Az if feltétel ellenőrzi, hogy a vegso_tavolsag legalább 40 km-e.
- Ha igaz, a felhasználó elérte (vagy meghaladta) a célkitűzést, és gratuláló üzenetet írunk ki.
else:
print("Legközelebb sikerül!")
- Magyarázat:
- Ha a vegso_tavolsag kevesebb, mint 40 km, az else ág fut, és bátorító üzenet jelenik meg, hogy a következő alkalommal siker lehet.
# 1. feladat: Bekérjük a felhasználó heti aktivitását
aktivitas = input("1. feladat\nAdja meg az aktivitását: ")
# 2. feladat: Távolságok kiszámítása
tavolsagok = {'U': 1, 'G': 1, 'F': 2, 'K': 10}
osszes_tavolsag = sum(tavolsagok[mozg] for mozg in aktivitas)
print(f"2. feladat\nAz elért távolság: {osszes_tavolsag} km.")
# 3. feladat: Jutalom kiszámítása
if all(mozgas in aktivitas for mozgas in tavolsagok.keys()):
jutalom = 10
print("3. feladat\nBravó! Jutalma még 10 km.")
else:
jutalom = 0
print("3. feladat\nNem jár jutalom.")
# 4. feladat: Eredmény kiírása
vegso_tavolsag = osszes_tavolsag + jutalom
print(f"4. feladat\nEredménye: {vegso_tavolsag} km.")
if vegso_tavolsag >= 40:
print("Gratulálok, kihívás teljesítve!")
else:
print("Legközelebb sikerül!")