2026. október 7., szerda

Tipusalgoritmusok pythonban


online futtatás; 
----------------
https://www.programiz.com/python-programming/online-compiler/
---------------
összeadás
---------------
# Két szám bekérése a felhasználótól
szam1 = float(input("Add meg az első számot: "))
szam2 = float(input("Add meg a második számot: "))

# Összeadás a + operátorral
osszeg = szam1 + szam2

# Eredmény kiírása
print(f"A két szám összege: {osszeg}")
------------------
Átlag
-------------
def atlag_szamitas():
    szamok = []
    
    print("Adj meg számokat! Ha befejezted, nyomj egy Entert szám nélkül.")
    
    while True:
        bevitell = input("Adj meg egy számot: ")
        
        # Ha a felhasználó üresen hagyja, kilépünk a ciklusból
        if bevitell == "":
            break
            
        try:
            # Számmá alakítjuk (tizedes törtként kezeljük, hogy a tizedesek is működjenek)
            szam = float(bevitell)
            szamok.append(szam)
        except ValueError:
            print("Ez nem egy érvényes szám! Kérlek, próbáld újra.")

    # Ellenőrizzük, hogy kaptunk-e számot a nullával való osztás elkerülésére
    if len(szamok) > 0:
        atlag = sum(szamok) / len(szamok)
        print(f"\nA megadott számok átlaga: {atlag:.2f}")
    else:
        print("\nNem adtál meg egyetlen számot sem.")

# Program futtatása
if __name__ == "__main__":
    atlag_szamitas()
--------------
legkisebb
------------
# Bekérjük a számokat egy sorban, szóközzel elválasztva
bevitel = input("Adj meg számokat szóközzel elválasztva: ")

# A bevitelt feldolgozzuk: feldaraboljuk a szóközöknél, és számmá (float) alakítjuk őket
szamok = [float(x) for x in bevitel.split()]

# Ellenőrizzük, hogy a felhasználó adott-e meg számot
if szamok:
    legkisebb = min(szamok)
    print(f"A megadott számok közül a legkisebb: {legkisebb}")
else:
    print("Nem adtál meg érvényes számot!")

-----------------
páros
----------
# Bekérjük a számokat a felhasználótól egy sorban, szóközzel elválasztva
beviteli_szoveg = input("Adj meg számokat szóközzel elválasztva: ")

# A szöveget feldaraboljuk a szóközök mentén, és egész számokká (int) alakítjuk őket
szamok = [int(szam) for szam in beviteli_szoveg.split()]

# Kiválogatjuk a páros számokat (amelyek 2-vel osztva 0 maradékot adnak)
paros_szamok = [szam for szam in szamok if szam % 2 == 0]

# Kiírjuk az eredményt
print(f"A megadott számok közül a párosak: {paros_szamok}")
----------------
3-al osztható
-----------
def harommal_oszthatok():
    print("Mely számok oszthatók 3-mal?")
    print("---------------------------------")
    
    # Bekérjük a számokat egy sorban, szóközzel elválasztva
    beviteli_szoveg = input("Adj meg számokat szóközzel elválasztva: ")
    
    # A beírt szöveget feldaraboljuk és egészekké alakítjuk
    szamok = []
    for elem in beviteli_szoveg.split():
        try:
            szamok.append(int(elem))
        except ValueError:
            # Ha a felhasználó nem számot írt be, azt figyelmen kívül hagyjuk
            continue
            
    # Kiszűrjük a 3-mal osztható számokat a modulo (%) operátorral
    oszthatoak = [szam for szam in szamok if szam % 3 == 0]
    
    # Eredmény kiíratása
    print("\nA beírt számok:", szamok)
    if oszthatoak:
        print("A 3-mal maradék nélkül osztható számok:", oszthatoak)
    else:
        print("A megadott számok között nincs 3-mal osztható szám.")

# A függvény futtatása
if __name__ == "__main__":
    harommal_oszthatok()

----------------
prím
-----------
def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True

# Prímszámok gyűjtése 1 és 200 között
primes = [num for num in range(1, 201) if is_prime(num)]

# Eredmény kiíratása
print(f"Prímszámok 1-től 200-ig ({len(primes)} darab):")
print(primes)

--------------
skandináv
-----------
import random


def skandinav_lotto_sorsolas():
    # A skandináv lottón a számok 1 és 35 között vannak
    szamok = list(range(1, 36))

    # 7 egyedi szám kisorsolása mindkét sorsoláshoz
    elsosorsolas = sorted(random.sample(szamok, 7))
    masodiksorsolas = sorted(random.sample(szamok, 7))

    # Eredmények megjelenítése
    print("🔮 Skandináv lottó sorsolási eredmények 🔮\n")
    print(
        f"1. számsor (Gépi sorsolás): {', '.join(map(str, elsosorsolas))}"
    )
    print(
        f"2. számsor (Kézi sorsolás): {', '.join(map(str, masodiksorsolas))}"
    )


# A program futtatása
if __name__ == "__main__":
    skandinav_lotto_sorsolas()
---------------------
Legkisebb és legnagyobb közösosztó
-----------
import math

# Két minta szám megadása
szam1 = 24
szam2 = 36

# 1. Legnagyobb Közös Osztó (LNKO) kiszámítása
lnko = math.gcd(szam1, szam2)

# 2. Legkisebb Közös Többszörös (LKKT) kiszámítása
lkkt = math.lcm(szam1, szam2)

# Eredmények kiíratása
print(f"A {szam1} és {szam2} számainak:")
print(f"- Legnagyobb közös osztója (LNKO): {lnko}")
print(f"- Legkisebb közös többszöröse (LKKT): {lkkt}")
-----------------
Emelkedő számsorrend
-------------------
# A rendezendő számok listája
szamok = [42, 7, 19, 102, 3, 25, 88]

# A lista rendezése emelkedő sorrendbe
szamok.sort()

# Az eredmény kiíratása
print("Rendezett számok:", szamok)
-------------
Hány darab 7-tel osztható szám található az 1 és 300 között
--------------
# Számláló inicializálása
darab = 0

# Végigmegyünk a számokon 1-től 300-ig (a 301 már nincs benne)
for szam in range(1, 301):
    # Ellenőrizzük, hogy a szám osztható-e 7-tel
    if szam % 7 == 0:
        darab += 1

# Az eredmény kiíratása
print(f"Az 1 és 300 közötti, 7-tel osztható számok száma: {darab}")
----------------
Bekér két számot a felhasználótól, majd ellenőrzi és kiírja, hogy melyik osztható maradék nélkül 11-gyel.
-------------
# Két szám bekérése a felhasználótól
szam1 = int(input("Add meg az első számot: "))
szam2 = int(input("Add meg a második számot: "))

print("-" * 30)

# Első szám ellenőrzése
if szam1 % 11 == 0:
    print(f"A(z) {szam1} osztható maradék nélkül 11-gyel.")
else:
    print(f"A(z) {szam1} NEM osztható maradék nélkül 11-gyel.")

# Második szám ellenőrzése
if szam2 % 11 == 0:
    print(f"A(z) {szam2} osztható maradék nélkül 11-gyel.")
else:
    print(f"A(z) {szam2} NEM osztható maradék nélkül 11-gyel.")
-------------
Kiválasztja a prímszámokat egy megadott számlistából,
---------
def is_prime(n):
    """Eldönti egy számról, hogy prímszám-e."""
    if n <= 1:
        return False
    if n == 2:
        return True
    if n % 2 == 0:
        return False
    
    # Elég a szám négyzetgyökéig ellenőrizni az osztókat
    for i in range(3, int(n**0.5) + 1, 2):
        if n % i == 0:
            return False
    return True

# Tesztadatok: egy tetszőleges számlista
szamok = [1, 2, 3, 4, 11, 15, 23, 28, 47, 50, 61, 74, 97, 100]

# Prímszámok kiválasztása a listából
prim_szamok = [szam for szam in szamok if is_prime(szam)]

# Eredmény kiíratása
print("Az eredeti lista:", szamok)
print("A listában található prímszámok:", prim_szamok)
-------------------
Hány betű van egy adott mondatban 
----------
# A vizsgált mondat
mondat = "Szia! Ez egy példa mondat, amiben megszámoljuk a betűket."

# Megszámoljuk a betűket az isalpha() metódus segítségével
betuk_szama = sum(karakter.isalpha() for karakter in mondat)

# Az eredmény kiíratása
print(f"A mondatban {betuk_szama} betű található.")
-----------
Összegzés tétele
-------------
def osszegzes(lista):
    osszeg = 0
    for elem in lista:
        osszeg += elem
    return osszeg

szamok = [3, 5, 2, 8, 1]
print(f"Az elemek összege: {osszegzes(szamok)}")  # Eredmény: 19
-------------
Megszámlálás tétele
-------------
def megszamlalas(lista):
    darab = 0
    for elem in lista:
        if elem % 2 == 0:  # Tulajdonság: páros számok
            darab += 1
    return darab

szamok = [3, 5, 2, 8, 1, 4]
print(f"Páros számok száma: {megszamlalas(szamok)}")  # Eredmény: 3
------------------
Szélsőérték
-----------
def legnagyobb_elem(lista):
    # Feltételezzük, hogy az első elem a legnagyobb
    max_elem = lista[0] 
    for elem in lista:
        if elem > max_elem:
            max_elem = elem
    return max_elem

szamok = [3, 5, 9, 2, 8, 1]
print(f"A legnagyobb szám: {legnagyobb_elem(szamok)}")  # Eredmény: 9
------------
Eldöntés tétele
-----------------

def van_e_negativ(lista):
    van = False
    for elem in lista:
        if elem < 0:
            van = True
            break  # Találtunk egyet, nem kell tovább keresni
    return van

szamok = [3, 5, -2, 8, 1]
print(f"Van a listában negatív szám? {van_e_negativ(szamok)}")  # Eredmény: True
-------------------
Kiválasztás tétele
-------------
def kivalasztas(lista, keresett_elem):
    i = 0
    while lista[i] != keresett_elem:
        i += 1
    return i  # Visszaadja az indexet

szamok = [10, 20, 30, 40, 50]
print(f"A 30-as elem indexe: {kivalasztas(szamok, 30)}")  # Eredmény: 2
------------------
Keresés tétele
------------------
def linearis_kereses(lista, keresett_elem):
    for i in range(len(lista)):
        if lista[i] == keresett_elem:
            return i  # Megtaláltuk, visszaadjuk az indexet
    return -1  # Ha a ciklus végigfutott és nem talált semmit

szamok = [5, 8, 12, 3, 7]
print(f"A 12-es indexe: {linearis_kereses(szamok, 12)}")  # Eredmény: 2
print(f"A 99-es indexe: {linearis_kereses(szamok, 99)}")  # Eredmény: -1
---------------------
Kiválogatás tétele
--------------------
def kivalogatas(lista):
    eredmeny = []
    for elem in lista:
        if elem > 5:
            eredmeny.append(elem)
    return eredmeny

szamok = [3, 8, 2, 11, 4, 7]
print(f"5-nél nagyobb számok: {kivalogatas(szamok)}")  # Eredmény: [8, 11, 7]
-----------------

Nincsenek megjegyzések:

Megjegyzés küldése