Vezérlési szerkezetek - Ciklusok - megoldások

1. feladat: Páros számok 1 és 10 között

# Kezdő szám deklarálása szam = 1 # Amíg a szám kisebb vagy egyenlő 10-zel while szam <= 10: if szam % 2 == 0: # Ha a szám maradék nélkül osztható 2-vel => páros a szám print(szam) # Kiírjuk a páros számot szam += 1 # Növeljük a számot

2. feladat: Csökkenő sorrendben számok 1 és 10 között

# Kezdő szám deklarálása szam = 10 # Amíg a szám nagyobb vagy egyenlő 1-gyel while szam >= 1: print(szam) # Kiírjuk a számot szam -= 1 # Csökkentjük a számot

3. feladat: Páratlan számok csökkenő sorrendben 1 és 10 között

# Kezdő szám deklarálása szam = 9 # Amíg a szám nagyobb vagy egyenlő 1-gyel while szam >= 1: if szam % 2 != 0: # Ha a szám maradék nélkül nem osztható 2-vel => páratlan a szám # if szam % 2 >0: - Ha a szám maradékal osztható 2-vel - ezt is írhatjuk az előző sor helyett print(szam) # Kiírjuk, ha páratlan szam -= 1 # Csökkentjük a számot

4. feladat: Szöveg kiírása meghatározott alkalommal

# Kérjük be a felhasználótól a szöveget és az alkalmak számát szoveg = input("Add meg a szöveget: ") alkalom = int(input("Hányszor szeretnéd kiírni? ")) # Inicializáljuk / deklaráljuk a számlálót i = 0 # Amíg a számláló kisebb, mint az alkalmak száma while i < alkalom: print(szoveg) # Kiírjuk a szöveget i += 1 # Növeljük a számlálót

5. feladat: Páros szám bekérése

folytatja = True # Logikai változó, hogy folytassuk a ciklust while folytatja: # Amíg folytatja = igaz szam = int(input("Kérlek, adj meg egy páros számot: ")) if szam % 2 == 0: # Ha a szám páros, vagyis maradék nélkül osztható 2-vel print("Köszönöm, a megadott páros szám:", szam) folytatja = False # Kilépünk a ciklusból else: print("A szám páratlan, kérlek próbáld újra.")

6. feladat: Összegzés 1-től 10-ig

# Inicializáljuk / deklarájuk az összeget és a számlálót. Kezdőértéket adunk ezeknek a változóknak. osszeg = 0 szam = 1 # Amíg a szám kisebb vagy egyenlő 10 while szam <= 10: osszeg += szam # Hozzáadjuk az aktuális számot az összeghez szam += 1 # Növeljük a számot # Kiírjuk az eredményt print("Az 1-től 10-ig terjedő számok összege:", osszeg)

7. feladat: "Hello!" kiírása, amíg "q" nem érkezik

# Logikai változó, hogy folytassuk a ciklust folytatja = True while folytatja: szoveg = input("Írd be 'q'-t a kilépéshez: ") if szoveg == 'q': folytatja = False # Kilépünk a ciklusból else: print("Hello!") # Kiírjuk a szöveget

8. feladat: Számok megszámolása 0-ig

# Inicializáljuk a számlálót és a logikai változót szamlalo = 0 folytatas = True while folytatas: szam = int(input("Adj meg egy számot (0 a kilépéshez): ")) if szam == 0: folytatas = False # Kilépünk a ciklusból else: szamlalo += 1 # Növeljük a számlálót # Kiírjuk a megszámlált számokat print("A megadott számok száma:", szamlalo)

9. feladat: Kód helyességének ellenőrzése

# Meghatározzuk a helyes kódot helyes_kod = "1234" folytatja = True # Logikai változó, hogy folytassuk a ciklust while folytatja: kod = input("Kérlek, add meg a kódot: ") if kod == helyes_kod: print("Eltaláltad!") folytatja = False # Kilépünk a ciklusból else: print("Nem talált!")

10. feladat: Felhasználói beviteli számok kiírása

# Logikai változó, hogy folytassuk a ciklust folytatja = True while folytatja: szam = int(input("Add meg a számot: ")) if szam < 0: folytatja = False # Kilépünk a ciklusból else: print("A megadott szám:", szam) print("A program leállt.")

11. feladat: Számtani sorozat összegzése

# Logikai változó, hogy folytassuk a ciklust folytatas = True while folytatas: szam = int(input("Kérlek, adj meg egy pozitív egész számot: ")) if szam > 0: folytatas = False # Kilépünk a ciklusból osszeg = 0 i = 1 # Amíg az i kisebb vagy egyenlő mint a bekért szám while i <= szam: osszeg += i # Hozzáadjuk az aktuális számot az összeghez i += 1 # Növeljük a számot # Kiírjuk az eredményt print(f"Az első {szam} szám összege : {osszeg} ")

12. feladat: Számkitaláló játék

import random szam = random.randint(1, 50) # Generálunk egy véletlenszerű számot folytatja = True while folytatja: tipp = int(input("Kérlek, add meg a tipped (1-50): ")) if tipp < szam: print("A gondolt szám nagyobb a tippednél!") elif tipp > szam: print("A gondolt szám kisebb a tippednél!") else: print("Gratulálok! Eltaláltad!") folytatja = False # Kilépünk a ciklusból

13. feladat: Faktoriális számítás

folytatja = True while folytatja: szam = int(input("Kérlek, adj meg egy nem negatív egész számot: ")) if szam > 0: folytatja = False # Kilépünk a ciklusból i = 1 faktorialis = 1 # Amíg az i kisebb vagy egyenlő mint a bekért szám while i <= szam: faktorialis *= i # Szorozzuk az aktuális számot a faktoriálissal i += 1 # Növeljük a számot print(f"A {szam} faktoriálisa: {faktorialis}")

14. feladat: Számok párba állítása

folytatja = True paratlanok = 0 parosak = 0 darab = 0 while folytatja: szam = int(input("Adj meg egy egész számot (0 - kilépés): ")) if szam == 0: folytatja = False # Kilépünk a ciklusból else: darab += 1 # Növeljük a darabszámot if szam % 2 == 0: # Páros szám parosak += 1 # Növeljük a páros számok db számát. else: # Páratlan szám paratlanok += 1 # Növeljük a páratlan számok db számát. print(f"A megadott {darab} darab számból a páratlanok száma: {paratlanok}, a párosok száma: {parosak}.")

15. feladat: Minimum és maximum keresés

folytatja = True szamdb = 0 minimum = 0 maximum = 0 while folytatja: szam = int(input("Adj meg egy pozitív egész számot (0 a kilépéshez): ")) if szam == 0: folytatja = False # Kilépünk a ciklusból else: if minimum == 0: # Első alkalommal a minimum és mayimum értékek beállítása minimum = szam maximum = szam szamdb += 1 # Megadott számok darabszámának növelése if szam < minimum: # Ha a szám < minimum -> a szám az új minimum minimum = szam elif szam>maximum: # Ha a szám > maximum -> a szám az új maximum maximum = szam print(f"Beírt {szamdb} darab szám közül a minimum: {minimum}, a maximum: {maximum} érték volt.")

16. feladat: 3-mal és 5-tel oszthatóság ellenőrzése

folytatja = True while folytatja: szam = int(input("Adj meg egy számot (0 a kilépés): ")) if szam == 0: folytatja = False # Kilépünk a ciklusból else: if (szam % 3 == 0) and (szam % 5 == 0): print(f"A {szam} osztható 3-mal és 5-tel.") elif szam % 3 == 0: print(f"A {szam} osztható 3-mal.") elif szam % 5 == 0: print(f"A {szam} osztható 5-tel.") else: print(f"A {szam} 3-mal és 5-tel nem osztható.")

17. feladat: Kockadobás szimuláció

import random dobasok_szama = int(input("Hányszor szeretnél kockát dobni? ")) i = 1 osszeg = 0 while i<=dobasok_szama: dobott_szam = random.randint(1, 6) # 1 és 6 közötti szám print(f"{i}. dobás eredménye: {dobott_szam}") osszeg += dobott_szam # Hozzáadjuk az összeghez i += 1 print(f"{dobasok_szama} darab kockadobás összege: {osszeg}.")

18. feladat: Tanfolyam értékelés

folytatja = True osszeg = 0 db = 0 max_ertek = 0 while folytatja: ertekeles = int(input("Kérlek, adj meg egy értékelést (1-5) vagy 0 a kilépéshez: ")) if ertekeles == 0: if db == 0: print("Nem adtál meg érvényes értékelést. Kilépés...") folytatja = False elif ertekeles < 1 or ertekeles > 5: print("Kérlek, érvényes értékelést adj meg (1-5).") else: osszeg += ertekeles db += 1 if ertekeles > max_ertek: max_ertek = ertekeles if db > 0: atlag = round(osszeg / db) print("\nEredmények:") print(f"Összesített értékelések száma: {db}") print(f"Átlagos értékelés: {atlag}") print(f"Legmagasabb értékelés: {max_ertek}")