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!")


Vissza