Python Listák Feltöltése Billentyűzetről

Lista feltöltése billentyűzetről azt jelenti, hogy a felhasználó adatokat ír be, és ezeket egy listában tároljuk. A "végjelig" azt jelenti, hogy addig kérünk be adatokat, amíg a felhasználó egy előre meghatározott értéket (például 0) nem ír be.


For ciklus megoldás - Adott számú elem beolvasása esetén használható

szamok = [] # Üres lista létrehozása darab = int(input("Hány számot szeretnél beírni? ")) # Pontosan annyi adatot kérünk be, ahány elem kell for i in range(darab): szam = input(f"Írd be a(z) {i+1}. számot: ") szamok.append(szam) # A lista kiírása print("\nBeírt számok:") print(szamok)

Kimenet:

Hány számot szeretnél beírni? 3 Írd be a(z) 1. számot: 5 Írd be a(z) 2. számot: 10 Írd be a(z) 3. számot: 15 Beírt számok: ['5', '10', '15']

While ciklus megoldás - Végzésjel ellenőrzés esetén használható

Végjellel befejezés

nevek = [] nev = input("Írj be egy nevet (vagy 'Q'-t a befejezéshez): ") # Addig ismétlünk, amíg nem Q-t írnak while nev != "Q": nevek.append(nev) nev = input("Írj be egy nevet (vagy 'Q'-t a befejezéshez): ") print("\nBeírt nevek:") print(nevek)

Kimenet:

Írj be egy nevet (vagy 'Q'-t a befejezéshez): János Írj be egy nevet (vagy 'Q'-t a befejezéshez): Márta Írj be egy nevet (vagy 'Q'-t a befejezéshez): Q Beírt nevek: ['János', 'Márta']

Számokkal - 0-val való befejezés

szamok = [] szam = int(input("Írj be egy számot (0 = befejezés): ")) # Addig ismétlünk, amíg nem 0-t írnak while szam != 0: szamok.append(szám) szam = int(input("Írj be egy számot (0 = befejezés): ")) print("\nBeírt számok:") print(szamok) print(f"Összesen: {sum(szamok)}")

Kimenet:

Írj be egy számot (0 a befejezéshez): 5 Írj be egy számot (0 a befejezéshez): 10 Írj be egy számot (0 a befejezéshez): 15 Írj be egy számot (0 a befejezéshez): 0 Beírt számok: [5, 10, 15] Összesen: 30

Enter-rel való kilépés

szovegek = [] szoveg = input("Írj be egy szöveget (ENTER a befejezés): ") # Addig ismétlünk, amíg nem üres sort írnak while szoveg != "": szovegek.append(szoveg) szoveg = input("Írj be egy szöveget (ENTER a befejezés): ") print("\nBeírt szövegek:") print(szövegek)

Kimenet:

Írj be egy szöveget (ENTER a befejezés): alma Írj be egy szöveget (ENTER a befejezés): körte Írj be egy szöveget (ENTER a befejezés): banán Írj be egy szöveget (ENTER a befejezés): Beírt szövegek: ['alma', 'körte', 'banán']

Összehasonlítás - Melyik megoldást használd?

Megoldás Mikor Használd Előnye
For ciklus Ha tudod előre, hány elem kell Egyszerű, biztos
While ciklus Ha nem tudod előre, hány elem lesz Rugalmas, a felhasználó dönt

Python listák feltöltése véletlenszámokkal

Mi az a véletlenszám?

A véletlenszám olyan szám, amelyet a számítógép véletlenszerűen választ ki egy megadott tartományból. Például: 1 és 10 között véletlenül választunk egy számot.

A Random modul

Import

Ahhoz, hogy véletlenszámokat használhassunk, importálnunk kell a random modult:

import random

Ezt a sort a program elejére célszerű tenni.

Alapvető véletlenszám generálás

random.randint() - Egész szám egy tartományban

import random # Egy véletlenszám 1 és 10 között (mindkét végpont beletartozik) szam = random.randint(1, 10) print(szam) # Példa kimenet: 7

Lista feltöltése véletlenszámokkal

For ciklus használatatával

import random # Üres lista létrehozása szamok = [] # 5 darab véletlenszám generálása for i in range(5): szam = random.randint(1, 10) szamok.append(szam) print("Véletlenszámok:") print(szamok)

Felhasználó által megadott darabszám - Dinamikus lista feltöltés

import random # A felhasználó megadja, hány szám kell darab = int(input("Hány véletlenszámot szeretnél? ")) # Üres lista szamok = [] # Annyi szám, ahányat a felhasználó kért for i in range(darab): szam = random.randint(1, 100) szamok.append(szam) print("\nVéletlenszámok:") print(szamok)

Kimenet (például):

Hány véletlenszámot szeretnél? 5 Véletlenszámok: [45, 12, 87, 23, 56]

Különböző tartományok

1 és 20 között

import random szamok = [] for i in range(10): szam = random.randint(1, 20) szamok.append(szám) print(f"Véletlenszámok 1-20 között: {szamok}")

0 és 1 között (Lebegőpontos szám)

import random szamok = [] for i in range(5): szam = random.random() # 0.0 és 1.0 között szamok.append(szam) print(f"Lebegőpontos számok: {számok}")

Kimenet (például):

Lebegőpontos számok: [0.8444218515250481, 0.7579544609913123, 0.420571580830845, 0.25891675029296335, 0.5112747213686085]

Lista Statisztikája

Összeg, Átlag, Minimum, Maximum

import random # Lista feltöltése 10 véletlenszámmal szamok = [] for i in range(10): szam = random.randint(1, 100) szamok.append(szám) print(f"Számok: {szamok}") print(f"Összeg: {sum(szamok)}") print(f"Átlag: {sum(szamok) / len(szamok)}") print(f"Legkisebb: {min(szamok)}") print(f"Legnagyobb: {max(szamok)}")

Kimenet (például):

Számok: [45, 23, 78, 12, 89, 34, 56, 11, 67, 42] Összeg: 457 Átlag: 45.7 Legkisebb: 11 Legnagyobb: 89

random.choice() - Véletlenül választás listából

Egy elem kiválasztása listából

import random # Egy lista gyumolcsok = ["alma", "körte", "banán", "narancs", "eper"] # Véletlenül választunk egyet valasztott = random.choice(gyumolcsok) print(f"Választott gyümölcs: {valasztott}")

random.shuffle() - Lista keverése

Lista elemeinek véletlenül rendezése

import random # Egy lista szamok = [1, 2, 3, 4, 5] # A listát megkeverjük random.shuffle(szamok) print(f"Megkevert lista: {szamok}")

Összefoglalás - Fő függvények

Függvény Mit Csinál Példa
random.randint(a, b) Egész szám a és b között random.randint(1, 10)
random.random() Lebegőpontos szám 0.0 és 1.0 között random.random()
random.choice(lista) Egy elem a listából random.choice([1, 2, 3])
random.shuffle(lista) Lista megkeverése random.shuffle(számok)


Gyakorló feladatok

Lista feltöltése billentyűzetről:

  1. Bevásárlólista Írj egy programot, amely lehetővé teszi a felhasználónak, hogy bevásárlólistát készítsen! A program addig kérjen be termékeket, amíg a felhasználó a "vége" szót nem írja be. Végül jelenítsd meg az összes beírt terméket egy listában. Követelmények:
  1. Diákok nevei – Előre meghatározott szám Írj egy programot, amely először megkérdezi a felhasználótól, hány diák nevét szeretné beírni! Ezután kérj be annyi nevet, ahányat a felhasználó megadott. Végül listázd fel a diákokat számozva.
    Követelmények:
  1. Kedvenc szín Írj egy programot, amely addig kér be kedvenc színeket, amíg a felhasználó a "vége" szót nem írja be! A program végén jelenítsd meg az összes beírt szín listáját.
    Követelmények:
  1. Osztályzatok – Nulláig Írj egy programot, amely osztályzatokat gyűjt össze a felhasználótól! A program addig kér be számokat (1–5 közötti osztályzatok), amíg a felhasználó 0-t nem ad meg. A végén számítsd ki és jelenítsd meg az osztályzatok átlagát!
    Követelmények:
  1. Gyümölcsök – Üres sorig Írj egy programot, amely gyümölcsöket gyűjt össze a felhasználótól! A program addig kér be gyümölcsöket, amíg a felhasználó egy üres sort (Enter megnyomása) nem ad meg. Végül jelenítsd meg az összes beírt gyümölcs listáját.
    Követelmények:

Listák feltöltése véletlenszámokkal

  1. Dobás Szimulálása Írj egy programot, amely szimulálja egy kocka 6 dobását! Minden dobás eredménye 1–6 közötti szám. Minden dobást egy listában tárolj el, majd írd ki az összes dobást és azok összegét.
    Követelmények:
  1. Lottó Számok Írj egy programot, amely generál 5 lottó számot! A számok 1–90 közötti véletlenszámok legyenek. A számokat tárold el egy listában és írd ki azokat.
    Követelmények:

    Megjegyzés: A valódi lottóban nem lehetnek ismétlődő számok, de ez a feladat nem követeli meg ezt.

  1. Véletlenszámok kiírása egyenként Írj egy programot, amely generál 10 véletlenszámot 1–50 között! Tárold el a számokat egy listában, majd írd ki őket egyenként, számozva (1., 2., 3., stb.).
    Követelmények:
  1. Osztályzatok véletlenül Írj egy programot, amely 20 tanuló véletlenszámú osztályzatait generálja! Az osztályzatok 1–5 közötti számok legyenek. A program számítsa ki és írd ki az összes osztályzat átlagát 2 tizedesjegy pontossággal.
    Követelmények:
  1. Véletlenszámok szűrése Írj egy programot, amely generál 15 véletlenszámot 1–100 között! Majd szűrd le közülük csak azokat, amelyek nagyobbak, mint 50. Írd ki az eredeti listát és a szűrt listát is.
    Követelmények:
  1. Véletlenszámok rendezése Írj egy programot, amely generál 10 véletlenszámot 1–100 között! A program írja ki az eredeti (rendezetlen) listát, majd rendezd azt növekvő sorrendbe és írd ki a rendezett listát.
    Követelmények:
  1. Emojis Véletlenszámok Írj egy programot, amely véletlenszerűen választ ki 5 emojit egy listából! Az elérhető emojik: 😀, 😂, 😍, 🎉, 🌟. Tárold el a kiválasztott emojkat egy listában és írd ki azokat.
    Követelmények: