Prompttípusok

Prompttípusok

AI felfedezők

Prompttípusok

Nemcsak az számít, mit kérdezünk, hanem az is, hogyan tesszük fel a kérdést. Ez a promptolás egyik legfontosabb része.

Ha ugyanarról a témáról máshogy kérdezel, a modell is máshogy fog válaszolni. Van, amikor egy rövid, pontos utasítás működik jól. Máskor jobb eredményt kapsz, ha példát mutatsz, szerepet adsz a modellnek, vagy lépésről lépésre vezeted végig a feladaton.

Prompttípusok szemléltetése egy tantermi jelenettel és mesterséges intelligenciát használó diákkal

Más típusú prompt kell például akkor, ha:

  • rövid összefoglalót szeretnél,
  • ötleteket gyűjtesz,
  • összehasonlítást kérsz,
  • egy szöveg stílusát szeretnéd követni,
  • vagy egy összetettebb problémát akarsz végiggondoltatni.

A lényeg egyszerű: nem minden feladathoz ugyanaz a prompttípus illik.

Ha jól választod meg a prompt felépítését, nagyobb eséllyel kapsz:

  • pontosabb,
  • relevánsabb,
  • rendezettebb,
  • és jobban használható választ.

Prompttípusok és példák

A különböző prompttípusok abban segítenek, hogy a feladathoz illő módon kérdezzünk. Ugyanazt a témát sokféleképpen meg lehet közelíteni.

Tegyük fel, hogy a téma ez:

„Hogyan hatnak a rövid videók a figyelemre?”

Erre teljesen másféle választ kapsz attól függően, hogy:

  • rövid listát kérsz,
  • nyitott kérdést teszel fel,
  • igen-nem típusú döntést kérsz,
  • példát mutatsz,
  • vagy végiggondoltatod a modellt lépésről lépésre.

Ezért hasznos ismerni a leggyakoribb prompttípusokat.

Prompttípus Leírás 💡 Promptpélda Mikor használjuk?
Utasításos prompting Egyértelműen megmondjuk, mit tegyen a modell. Írj 4 rövid pontot arról, hogyan hatnak a rövid videók a figyelemre! Összefoglalás, lista, konkrét kérés
Nyitott kérdéses (open-ended) prompting Tág kérdés, amelyre többféle válasz is adható. Miért érzik sokan úgy, hogy a rövid videók után nehezebb tanulni? Ötletelés, több nézőpont, véleményalkotás
Zárt kérdéses (closed-ended) prompting Olyan kérdés, amely korlátozott válaszlehetőséget ad. Segíti vagy inkább rontja a koncentrációt a folyamatos videónézés? Válaszolj egy szóval! Döntési helyzetek, gyors állásfoglalás
Few-shot prompting Néhány példát mutatunk, és a modell ezek mintájára folytatja. Fogalom: algoritmus. Magyarázat: Egy feladat megoldásához vezető lépések sora.
Fogalom: digitális lábnyom. Magyarázat: Az interneten utánunk maradó nyomok összessége.
Fogalom: prompt. Magyarázat:
Mintakövetés, definíciók, sablonszerű tartalom
One-shot prompting Egyetlen mintát adunk a modellnek. Ez a bekezdés egyszerűen magyarázza el, mi az online zaklatás: [szöveg]. Most írj hasonló stílusban egy bekezdést arról, mi az álhír! Stílus és szerkezet utánzása
Zero-shot prompting Nem adunk példát, csak magát a feladatot. Írj rövid magyarázatot arról, hogyan ismerhető fel egy álhír! Egyszerű kérések, általános ismeretek, nyelvi feladatok
Gondolatmenet alapú (chain-of-thought, CoT) prompting A modellt arra kérjük, hogy lépésről lépésre gondolja végig a problémát. Gondoljuk végig lépésről lépésre, miért lehet nehezebb tanulás közben koncentrálni, ha valaki folyamatosan értesítéseket kap a telefonjára! Komplex problémák, érvelés, elemzés
Többlépéses (multistep) prompting Több egymásra épülő utasítást adunk. Először adj egy címet a témához, aztán készíts 3 pontos vázlatot, végül írj egy rövid bevezetőt! Tartalomépítés, szövegalkotás, tervezés
Role prompting A modellt egy szerepbe helyezzük. Te egy digitális kultúra tanár vagy. Magyarázd el egy 9.-es diáknak, mi az algoritmus! Hangnemváltás, célközönséghez igazítás
Self-reflective prompting Megkérjük a modellt, hogy vizsgálja felül és javítsa a saját válaszát. Nézd át a saját válaszodat! Van benne túl általános rész vagy pontatlan állítás? Önellenőrzés, pontosítás, javítás
Contrast prompting Két vagy több dolgot kell összehasonlítani. Hasonlítsd össze, hogyan hat a rövid videó és a hosszabb oktatóvideó a tanulásra! Összevetés, vita, érvelés

Mi a különbség a zero-shopt prompting és a direct instruction között? 

Ez a két technika első ránézésre hasonlónak tűnhet, mert mindkettőnél előfordulhat, hogy csak egyetlen promptot írunk be. Mégsem ugyanaz a kettő.

A zero-shot prompting lényege az, hogy nem adunk mintát vagy példát, hanem a modell általános tudására támaszkodunk. Megadjuk a feladatot, és elvárjuk, hogy önállóan értelmezze.

A direct instruction ezzel szemben nemcsak annyit mond meg, hogy miről írjon, hanem azt is, mit, hogyan, és sokszor milyen formában kérünk.

Példa

Zero-shot prompt:

Írj röviden arról, hogyan befolyásolhatja a telefonozás a figyelmet tanulás közben!

Direct instruction:

Írj egy 6 mondatos, közérthető összefoglalót arról, hogyan befolyásolhatja a telefonozás a figyelmet tanulás közben! Térj ki 2 hátrányra és 1 lehetséges megoldásra is!

A különbség jól látható:

  • a zero-shot inkább „indulj el ebből” típusú kérés,
  • a direct instruction pedig jobban irányítja a választ.

A zero-shot gyors és egyszerű, de néha túl általános választ adhat.
A direct instruction pontosabb, kiszámíthatóbb, és akkor különösen hasznos, ha számít a szerkezet, a hossz vagy a tartalom.

Fogalom Zero-shot prompting Direct instruction
Jellemző Nincs példa vagy előzetes minta. A modellnek önállóan kell értelmeznie a feladatot. Konkrét utasítás, amely pontosan meghatározza, mit várunk. Gyakran formai vagy tartalmi elvárásokat is tartalmaz.
Cél Annak kipróbálása, hogy a modell mit tud a feladattípusról példák nélkül. A válasz pontos irányítása: mit, hogyan és milyen formában adjon vissza.
Tipikus prompt Írj röviden arról, hogyan befolyásolhatja a telefonozás a figyelmet tanulás közben! Írj egy 6 mondatos, közérthető összefoglalót arról, hogyan befolyásolhatja a telefonozás a figyelmet tanulás közben! Térj ki 2 hátrányra és 1 lehetséges megoldásra is!
Alkalmazás Inkább akkor hasznos, ha a feladat egyszerű, vagy bízunk a modell általános tudásában. Akkor érdemes használni, ha szabályozni szeretnénk a válasz hosszát, szerkezetét, stílusát vagy tartalmát.
Előnye Gyors, egyszerű, minimális beavatkozással működik. Pontosabb, következetesebb és kiszámíthatóbb választ ad.
Hátránya Könnyebben lehet túl általános vagy pontatlan a kimenet. Ha túl szűkre szabjuk, csökkentheti a kreativitást.

Mi a különbség a multistep prompting és a chain-of-thought prompting között?

Ez a két módszer is könnyen összekeverhető, mert mindkettő több lépésből áll. A céljuk viszont eltérő.

A multistep prompting esetén több, egymásra épülő utasítást adunk. Ilyenkor a modell részenként halad a feladattal.

Például:

  • először adjon címet,
  • aztán írjon vázlatot,
  • végül készítsen bevezetőt.

A chain-of-thought prompting ezzel szemben nem külön részeket kér, hanem azt, hogy a modell lépésről lépésre gondolja végig a problémát.

Példa

Multistep prompt:

Először adj egy címet a témához, aztán készíts 3 pontos vázlatot, végül írj egy rövid bevezetőt!

Chain-of-thought prompt:

Gondoljuk végig lépésről lépésre, miért lehet nehezebb tanulás közben koncentrálni, ha valaki folyamatosan értesítéseket kap a telefonjára!

Röviden:

  • a multistep inkább tartalomépítésre jó,
  • a chain-of-thought inkább gondolkodtatásra, elemzésre, érvelésre.
Szempont Multistep prompting Chain-of-thought prompting (CoT)
Lényege Több, különálló utasítás egymás után, amelyeket a modell lépésenként hajt végre. A modellt arra kérjük, hogy egy komplex kérdést lépésről lépésre gondoljon végig egy folyamatos gondolatmenetben.
Cél Tartalomépítés strukturált módon, például cím, vázlat, bevezető vagy teljes szöveg elkészítése. Problémamegoldás, érvelés, döntés vagy összetett kérdések elemzése.
Feladattípus Szövegalkotás, prezentáció, esszéírás, blogcikk vagy tervkészítés. Logikai, számítási, társadalmi, etikai vagy elemző feladatok.
Prompt formája Sorozat: „Először… Aztán… Végül…” Folyamat: „Gondoljuk végig lépésről lépésre…”
Output szerkezete Több különálló rész, például külön cím, külön vázlat, külön bevezető. Egybefüggő érvelés vagy gondolatmenet.
Gyakori sablon Írj először egy címet! Ezután készíts vázlatot! Majd írd meg az első bekezdést! Gondoljuk végig lépésről lépésre: először azonosítsuk a fő okokat, aztán csoportosítsuk őket, végül javasoljunk megoldásokat!
Használati példa Blogbejegyzés, kutatási terv, prezentáció vagy esszévázlat előkészítése. Egy összetett társadalmi kérdés, etikai dilemma vagy több tényezős probléma elemzése.

Nyitott és zárt kérdések

A nyitott és zárt promptolási módszereket sokszor együtt érdemes használni.

A zárt kérdés gyors állásfoglalást kér.
A nyitott kérdés ezután lehetőséget ad az indoklásra és a részletesebb kifejtésre.

Példa

Zárt kérdés:

Hasznos vagy inkább káros, ha valaki minden fogalmazás előtt MI-eszközhöz fordul? Válaszolj egy szóval!

Utána nyitott kérdés:

Indokold meg a válaszodat három szempontból: tanulás, önálló munka és igazságosság!

Ez a megoldás azért jó, mert:

  • először fókuszálja a választ,
  • utána pedig mélyebb gondolkodásra késztet.

Hogyan válasszunk promptolási módszert?

A promptolási módszer kiválasztásánál érdemes végiggondolni néhány kérdést.

1. Mi a cél?

Információt szeretnénk?
Összefoglalást?
Ötleteket?
Véleményt?
Összehasonlítást?
Döntést?

2. Szükség van-e mintára?

Ha fontos a stílus vagy a szerkezet, akkor jól jöhet a one-shot vagy a few-shot prompting.

3. Rövid választ várunk, vagy részletesebb gondolatmenetet?

Ha csak gyors magyarázat kell, elég lehet egy utasításos vagy zero-shot prompt.
Ha összetettebb kérdést vizsgálunk, érdemes lehet chain-of-thought módszert használni.

4. Fontos-e a hangnem vagy a célközönség?

Ha igen, a role prompting különösen hasznos lehet.

Például:

  • „Magyarázd el 9.-es diáknak”
  • „Te egy digitális kultúra tanár vagy”
  • „Te egy újságíró vagy”

5. Szeretnénk-e, hogy a modell ellenőrizze a saját válaszát?

Ilyenkor a self-reflective prompting segíthet pontosítani vagy javítani a szöveget.

A jó promptolás arról szól, hogy világosan meg tudjuk fogalmazni, mit szeretnénk a modelltől.

Feladatok

 

1. Ugyanaz a téma, többféle prompt

Válassz ki egy témát az alábbiak közül:

  • Hogyan hat a telefon a figyelemre tanulás közben?
  • Mire jó és mire nem jó a ChatGPT a suliban?
  • Miért terjednek gyorsan az álhírek?
  • Hogyan befolyásolják a rövid videók a koncentrációt?

Írj ugyanarról a témáról 4 különböző promptot:

  • egy utasításos promptot,
  • egy nyitott kérdést,
  • egy role promptot,
  • egy chain-of-thought promptot.

Próbáld ki őket, majd hasonlítsd össze a válaszokat:

  • Melyik lett a legrészletesebb?
  • Melyik volt a legérthetőbb?
  • Melyik adott legjobban használható választ?

2. One-shot prompting gyakorlat

Adj a modellnek egy rövid mintaszöveget erről a témáról:

Miért nehéz tanulás közben ellenállni az értesítéseknek.
Ezután kérd meg, hogy ugyanilyen stílusban írjon egy rövid magyarázatot arról,

Hogyan zavarhatja meg a figyelmet a folyamatos rövidvideó-nézés.

A végén nézd meg:

  • Hasonló lett a hangnem?
  • Ugyanolyan egyszerű maradt a magyarázat?
  • Tényleg követte a mintát?

3. Zárt kérdésből nyitott kérdés

Írj egy zárt kérdést és egy hozzá kapcsolódó nyitott kérdést erről a témáról:

Jó ötlet-e MI-t használni tanuláshoz?

Például:

  • először kérj rövid választ,
  • aztán kérj indoklást több szempont alapján.

4. Promptjavítás

Nézd meg ezt a túl általános promptot:

Írj a telefonozásról!

Írd át úgy, hogy pontosabb legyen.
Próbálj beletenni:

  • konkrét témát,
  • célt,
  • hosszúságot,
  • és célközönséget.

Például ne csak annyi derüljön ki belőle, hogy „telefonozás”, hanem az is, hogy:

  • milyen helyzetben,
  • milyen nézőpontból,
  • és milyen formában kérsz választ.

Összegzés

A prompttípusok ismerete azért fontos, mert ugyanarra a témára nagyon különböző válaszokat kaphatunk attól függően, hogyan kérdezünk.

Van, amikor elég egy egyszerű utasítás.
Van, amikor jobb példát mutatni.
Van, amikor szerepet érdemes adni a modellnek.
És van, amikor az segít, ha lépésről lépésre vezeted végig a gondolatmeneten.

A jó promptolás lényege nem az, hogy bonyolultan fogalmazzunk, hanem az, hogy a feladathoz illő módon kérdezzünk.

Anime mentor laptopnál, a képernyőn „AI lecke sikeresen befejezve” – promptolás alapjai illusztráció a megértéshez

Ha szeretnél továbbhaladni az AI témakörével, lépj egy másik leckére:

While ciklus Pythonban

While ciklus Pythonban

Python

While ciklus Pythonban

A programozásban gyakran előfordul , hogy egy utasítást vagy több sorból álló blokkot többször szeretnénk végrehajtani. Ezt leírhatnánk újra és újra, de ennél van egy sokkal jobb megoldás: a ciklus. A while ciklus akkor hasznos, ha azt szeretnénk, hogy egy művelet addig ismétlődjön, amíg egy feltétel igaz. A Pyhtonban a while ciklus addig fut, amíg a megadott feltétel igaz. 

Python while ciklus működése illusztráción

Mi az a while ciklus?

A while szó jelentése: amíg. A while ciklus tehát azt mondja a programnak: amíg egy feltétel igaz, addig hajtsd végre ezt a blokkot. 
Általános alakja: 

while feltétel:
     utasítás

Nagyon fontos, hogy a while után egy feltétel álljon, a sor végén pedig kettőspont legyen. Az alatta levő behúzott sorok tartoznak a ciklus törzséhez. 

Lássuk ezt egy konkrét példával. Írjunk ki minden egész számot 1-től 10-ig:

 

Python random randint példa véletlenszám generálásához

Mi történik itt? 

  • A szam = 1 sorban létrehozunk egy változót, amely 1-ről indul
  • A while szam <= 10: azt jelenti, hogy amíg a szám kisebb vagy egyenlő 10-zel, fusson a ciklus
  • a print(szam) kiírja az aktuális értéket
  • a szam = szam + 1 megnöveli a változó értékét eggyel, hogy a következő körben már a következő szám jöjjön. Ha ezt a növelést kihagynánk, a feltétel mindig igaz maradna, és a ciklus soha nem érne véget. Ezt végtelen ciklusnak nevezzük. 
    A szam = szam + 1 leírható rövidebb módon is: szam += 1. A Python dokumentációja az ilyen += alakot kiegészített értékadásként írja le, például a += 2, a szokásos esetben a hosszabb a = a + 2 rövidebb formája. Ez így rövidebb, tisztább, gyakran használjuk

Szöveg kiírása többször

Most legyen egy másik változónk, és írjuk ki ötször, hogy „Legyen szép napod!”

Ebben a példában a változó számolja, hogy hányszor futott le a ciklus. Amíg a számláló kisebb vagy egyenlő öttel, a program kiírja a szöveget. 
Minden kör végén eggyel növeljük a számlálót. 

Mire kell odafigyelni a while ciklusnál?

1. Legyen jól megadva a feltétel. A ciklus addig fut, amíg a feltétel igaz. Ha rossz feltételt írunk, a program nem úgy fog működni, ahogy szeretnénk. 

2. Változzon valami a ciklusban. Ha a feltételben szereplő változó értéke nem változik, akkor könnyen végtelen ciklus lesz belőle. 

Döntsön a felhasználó a ciklus ismétléséről

A while ciklus nem csak számlálásra jó. Olyan helyzetekre is használhatjuk, amikor a program addig kérdez és ismétel valamit, amíg a felhasználó azt nem mondja, hogy elég. 

A folytatja változó kezdetben True, vagyis igaz. Amíg ez tart, a ciklus fut. A program minden körben megkérdezi a felhasználót, hogy igaz-e még a feltétel. Ha a válasz értéke „n”, akkor a folytatja értéke False lesz. Ekkor a while feltétele már nem igaz, tehát a ciklus leáll. 

Adatbekérés while ciklussal

A while ciklus egyik legfontosabb felhasználása az ellenőrzött adatbekérés. Például kérjünk be a felhasználótól egy egész számot 0 és 5 között. Ha rossz értéket ad meg, kérjük be újra. 

A 0 <= szam <= 5 azt vizsgálja, hogy a szám beleesik-e a megadott intervallumba. A not miatt a ciklus akkor fut, ha nem igaz, hogy a szám 0 és 5 között van. 

Vagyis:

  • ha jó számot ad meg a felhasználó, a ciklus nem fut le
  • ha rossz számot ad meg, a ciklus újra bekéri az adatot. 

Kilépés ENTER lenyomásával

Csinálhatunk olyat is, hogy a program szavakat kér be, és addig ismétli a bekérést, amíg a felhasználó csak egy ENTER-t nem nyom. 
Az ENTER – üres szövegrész – lesz a kilépési jel.  

Miért hasznos a while ciklus?

A while különösen jó választás, ha nem tudjuk előre, pontosan hányszor kell ismételni valamit. Például:

  • addig kérünk be adatot, amíg jó nem lesz
  • addig ismétlünk egy kérdést, amíg a felhasználó ki nem lép
  • addig növelünk egy számlálót, amíg el nem ér egy határt. 

Ez különbözteti meg a while ciklust attól a helyzettől, amikor előre tudjuk az ismétlések számát. 

Összefoglalás

A while ciklus segítségével a Pythonban addig ismételhetünk egy utasítést, vagy utasításblokkot, amíg egy feltétel igaz. Nagyon hasznos számlálásra, adatellenőrzésre és olyan helyzetekre, amikor nem tudjuk előre, hányszor kell megismételni valamit. 
A while ciklus használatánál figyelni kell arra, hogy a feltétel egyszer majd hamissá váljon, különben végtelen ciklus keletkezik. 

Feladatok

1. Visszaszámlálás

Írj programot, amely 10-től 1-ig kiírja a számokat while ciklussal, majd a végén kiírja, hogy Kilövés!

Megoldás
visszaszamlalas = 10
while visszaszamlalas > 0:
    print(visszaszamlalas)
    visszaszamlalas -=1
print(„Kilövés!”)

2. Páros számok kiírása

Írj egy olyan programot, amely kiírja az első 10 páros számot while ciklussal

Megoldás
paros_szam = 2
while paros_szam <= 20:
    print(paros_szam)
    paros_szam += 2

print(„Vége”)

vagy

paros_szam = 2
darab = 0

while darab < 10:
    print(paros_szam)
    paros_szam += 2
    darab += 1

3. Összegzés addig, amíg 0 nem jön ki

Írj programot, amely számokat kér be a felhasználótól, és addig folytatja a bekérést, amíg a felhasználó 0-t nem ír be. A végén írja ki a beírt számok összegét.

Megoldás
szam = int(input(„Adj meg egy számot: „))
osszeg = 0

while szam != 0:
   osszeg = osszeg + szam
   szam = int(input(„Adj meg egy számot: „))

print(„A számok összege: „, osszeg)

4. Adatbekérés ellenőrzéssel

Írj programot, amely addig kér be egy egész számot, amíg a felhasználó 0 és 5 közötti számot nem ad meg. Ha rossz értéket ad meg, kérje be újra. Ha jó értéket ad meg, írja ki: Köszönöm!

Megoldás
szam = int(input(„Adj meg egy számot 0 és 5 között: „))

while not 0 <= szam <= 5:
    szam = int(input(„A megadott szám helytelen. Adj meg egy számot 0 és 5 között: „))

print(„Köszönöm!”)

5. Kilépés Enterrel

Írj programot, amely szavakat kér be a felhasználótól. A program addig fusson, amíg a felhasználó be nem nyom egy Entert. A ciklus végén írja ki: Vége

Megoldás
szo = input(„Adj meg egy szót. Ha kész vagy, lépj ki Enterrel: „)

while szo != „”:
    szo = input(„Adj meg egy szt. Ha kész vagy, lépj ki Enterrel: „)

print(„Vége”)

6. Számolás 3-tól 15-ig

Írj egy programot, amely kiiratja a számokat 3-tól 15-ig

Megoldás
szam = 3

while szam <=15:
    print(szam)
    szam += 1
   
print(„Vége”)

7. Páratlan számok

Írj programot, amely kiiratja az 1 és 15 közötti páratlan számokat while ciklussal

Megoldás
szam = 1
while szam <= 15:
    print(szam)
    szam +=2

8. Addig kérdezz, amíg páratlan szám nem jön

Írj programot, amely addig kér be számokat, amíg a felhasználó pozitív számot nem ad meg. Ha jó számot ír be, jelenjen meg: Rendben, ez már pozitív szám

Megoldás
szam = int(input(„Adj meg egy pozitív számot: „))

while szam <= 0:
    szam = int(input(„Adj meg egy pozitív számot: „))

print(„Rendben, ez már pozitív szám!”)

9. A számok átlaga 0-ig

Írj programot, amely számokat kér be a felhasználótól. A bekérés addig tartson, amíg a felhasználó 0-t nem ír be. A végén írd ki a beírt számok összegét, hány darab számot adott meg a felhasználó és az átlagot. A 0 csak leállítja, nem számít a számolásba. 

Megoldás
szam = int(input(„Adj meg egy számot: „))
darab = 0
osszeg = 0

while szam != 0:
    darab += 1
    osszeg += szam
    szam = int(input(„Adj meg egy számot: „))

if darab > 0:
    print(„A beírt számok összege: „, osszeg)
    print(„A beírt számok száma: „, darab, „darab”)
    print(„A beírt számok átlaga:”, osszeg / darab)
else:
    print(„Nem adtál meg egyetlen számot sem.”)

10. Igen vagy nem?

Írj programot, amely addig kér be választ a felhasználótól, amíg az nem írja be, hogy igen vagy nem. A mást ír be, kérdezze újra. Ha jó választ írt be, írja ki: Elfogadom

Megoldás
valasz = input(„Megtanultad a leckét? (igen/nem): „)

while valasz != „igen” and valasz != „nem”:
    valasz = input(„Hibás válasz. Nem ezt kérdeztem! Megtanultad a leckét? „)

print(„Elfogadott válasz.”)
   
Vidám anime lány számítógépnél grafikát készít, Inkscape alapok tanulása

Ha szeretnél továbbhaladni a Python programozással, lépj a következő leckére:

Véletlenszám generálása Pythonban

Véletlenszám generálása Pythonban

Python

Véletlenszám generálása Pythonban

Gyakran szükségünk van véletlenszerűen kiválasztott számokra. Ilyet használhatunk például játékokban, sorsolásoknál, feladatgenerálásnál vagy éppen tesztelésnél. A véletlenszámok előállításához a Python random modulját használjuk, amelyet a program elején importálnunk kell.

python bevezetés – anime lány laptopnál tanul programozni, barátságos python kígyóval

Random modul

A Pythonban a véletlenszámok generálása nagyon egyszerű. Ehhez a random modult használjuk. Ez a modul a Python része, csak be kell importálni a programunkba. Az importálás után már elérjük a modulhoz tartozó műveleteket.

Például így tudunk véletlen egész számot generálni:

Python random randint példa véletlenszám generálásához

Ebben a példában a program egy véletlen egész számot generál 1 és 12 között, majd eltárolja azt a veletlen_szam nevű változóban.

Nézzük meg részenként:

  • random – a modul neve
  • randint – egy olyan függvény, amely véletlen egész számot ad vissza
  • (1, 12) – az intervallum, amelyből a számot választja

Fontos, hogy a randint() zárt intervallummal dolgozik, vagyis a kezdőérték és a végérték is beleértendő. Ez azt jelenti, hogy ebben a példában a program generálhat 1-et, 12-t, és a kettő közötti bármelyik egész számot is.

A randint() csak egész számot ad vissza. Ha nem egész számra lenne szükség, akkor más függvényt kell majd használni.

Mire használható a véletlenszám generálása Pythonban?

A véletlenszám generálása Pythonban sokféle programban hasznos lehet. Készíthetünk vele egyszerű játékokat, dobókocka-szimulációt, sorsolást vagy akár gyakorlófeladatokat is.
A kezdők számára azért is fontos ez a téma, mert a random modul használata közben egyszerre gyakorolhatjuk a változókat, a kiírást és az elágazásokat is.
A véletlenszám generálása Pythonban tehát nemcsak önmagában érdekes, hanem jó alapot ad a későbbi összetettebb programokhoz is. Ha ezt a részt biztosan megérted, később könnyebben fog menni a ciklusokkal, listákkal és játékos feladatokkal való munka is.

Összefoglalás

A véletlenszám generálása Pythonban a random modul segítségével történik. Egyik leggyakrabban használt függvény a randint(), amely két megadott határ között ad vissza egy véletlen egész számot. Fontos, hogy ez a függvény zárt intervallummal dolgozik, vagyis a kezdőértéket és a végértéket is beleszámolja. 

Gyakori hibák

  • Elmarad az import random, ezért a program nem ismeri fel a random modult.
  • A generált számot nem tároljuk változóba, vagy nem írjuk ki, ezért nem látjuk az eredményt.

Feladatok

1. Dobókocka

Készíts programot, amely kiír egy véletlen számot 1 és 6 között.
A kiírás ilyen legyen:

Megoldás
import random
szam = random.randint(1, 6)

print(„A dobott szám:”, szam)

2. Véletlen hónap

Generálj egy véletlen számot 1 és 12 között, majd írd ki, hogy ez egy hónap sorszáma.

Példa:

Megoldás
import random
honap = random.randint(1, 12)

print(„A kiválasztott hónap sorszáma:”, honap)

3. Véletlen páros szám

Generálj egy véletlen számot 1 és 20 között.
Ezután vizsgáld meg, hogy páros-e, és írd ki az eredményt.

Megoldás
import random
veletlen_szam = random.randint(1, 20)
print(veletlen_szam)

if veletlen_szam % 2 == 0:
    print(„Páros szám”)
else:
    print(„Páratlan szám”)

4. Kockadobás értékelése

Készíts programot, amely dob egyet 1 és 6 között, majd a dobás alapján szöveget ír ki:

  • ha 6, akkor: Hatos!
  • ha 1, akkor: Pech!
  • minden más esetben: Átlagos dobás.

Megoldás
import random
kocka_dobas = random.randint(1, 6)
print(kocka_dobas)

if kocka_dobas == 6:
    print(„Hatos!”)

elif kocka_dobas == 1:
    print(„Pech!”)

else:
    print(„Átlagos dobás.”)

5. Véletlen szám és összehasonlítás

Generálj egy véletlen számot 1 és 100 között.
Ezután írd ki, hogy:

  • kisebb mint 50,
  • nagyobb mint 50,
  • vagy pontosan 50.

Megoldás
import random
veletlen_szam = random.randint(1, 100)
print(veletlen_szam)

if veletlen_szam < 50:
    print(„Kisebb mint 50”)

elif veletlen_szam > 50:
    print(„Nagyobb mint 50”)
else:
    print(„Pontosan 50.”)

 

Ha részletesebben szeretnél olvasni a Python random moduljáról, nézd meg a hivatalos dokumentációt.

 

Vidám anime lány számítógépnél grafikát készít, Inkscape alapok tanulása

Ha szeretnél továbbhaladni a Python programozással, lépj a következő leckére:

Python if else

Python if else

Python

Hogyan működik a python if else szerkezet?

Az eddigi programjaink minden utasítást ugyanabban a sorrendben hajtottak végre. Ez jó kezdet, de egy iő után ennél többre van szükségünk. Sokszor előfordul, hogy a programnak el kell döntenie, mit csináljon egy adott helyzetben. Más történjen akkor, ha egy szám negatív, más akkor, ha nulla, és megint más akkor, ha pozitív?
Erre valók a feltételes utasítások, más néven elágazások. A Pythonban az if, else és elif utasításokat használjuk. 

python bevezetés – anime lány laptopnál tanul programozni, barátságos python kígyóval

Miért van szükség feltételes utasításra?

A Python if else szerkezet azért fontos, mert a program így nem ugyanazt csinálja minden helyzetben, hanem a feltétel alapján képes eltérő utasításokat végrehajtani.
Nézzük ezt a példát: 

szam = int(input(„Adj meg egy egész számot! „))
print(A megadott szám negatív.”)

Ez így nem jó, mert a program minden esetben kiírja, hogy a szám negatív, akkor is, ha a felhasználó pozitív számot adott meg. A programnak tehát meg kell vizsgálnia, hogy a szám valóban kisebb-e nullánál. Erre használjuk az if utasítást. 

szam = int(input(„Adj meg egy egész számot! „)
if szam < 0:
    print(„A megadott szám negatív.”)

A program itt csak akkor írja ki az üzenetét, ha a megadott szám kisebb nullánál. Ha pozitív számot írunk be, nem történik semmi. 

Az if utasítás szabályai:

  • a feltétel if szóval kezdődik
  • a sor végén kettőspont (:) van
  • az alá tartozó utasításokat beljebb kell írni. ezt általában egy tabulátorral oldjuk meg. A pythonban a behúzás nem dísz, hanem szabály. A feltételhez csak a behúzott sorok tartoznak. Ha nem húzzuk beljebb, nem tartozik a feltételhez, ezért a program minden esetben végrehajtja. 

Írj egy programot, amely bekér egy egész számot, és csak akkor írja ki, hogy a szám pozitív, ha a megadott szám nagyobb mint 0. 

Megoldás
szam = int(input(„Adj meg egy számot! „))
if szam > 0:
    print(„A szám pozitív”)

Az else utasítás

Sokszor nemcsak azt szeretnénk megmondani, mi történjen akkor, ha egy feltétel igaz, hanem azt is, mi legyen, ha nem igaz. Erre való az else.
Az else azt jelenti: különben. 

Az elif utasítás

Előfordulhat, hogy nemcsak két esetet szeretnénk megkülönböztetni, hanem többet is. Erre használjuk az elif utasítást. Jelentése: egyébként ha. Az előző példánknál ez a harmadik eset lehet a nulla. Írjuk le az alábbi programot:

ha a bekért szám negatív, írja ki, hogy negatív

ha a szám nulla, írja ki, hogy nulla

különben csak pozitív lehet.

Az egyenlőségvizsgálat jele a Pythonban: ==. Nagyon fontos különbség van a = és a == között. Az egy darab egyenlőségjel értékadást jelent. Ezzel adunk értéket egy változónak, pl. szam = 5. 

A két darab egyenlőségjel összehasonlítást jelent. Ezzel vizsgáljuk, hogy az érték egyenlő-e valamivel, pl. szam == 0

Egyéb összehasonlító jelek:

< – kisebb mint
> – nagyobb mint
<= – kisebb egyenlő
>= – nagyobb egyenlő
== – egyenlő vajon?
!= – nem egyenlő

Ezekkel tudjuk megadni, milyen feltételt vizsgáljon a program.

Hogyan működik az if, elif és else? 

A Python a feltételeket felülről lefelé vizsgálja. Amelyik először igaz lesz, annak a blokkját hajtja végre. Például ebben a kódban

A program először megnézi, hogy a szám kisebb-e nullánál. Ha igen, kiírja, hogy negatív és már nem vizsgálja tovább a többi esetet. 
Ha nem, akkor megnézi, hogy egyenlő-e nullával. Ha ez sem igaz, akkor az else ág fut le. 

Példa az életkoroddal

Készíts egy olyan programot, ahol bekéred a felhasználó életkorát, majd megállapítod és kiírod, hogy nagykorú-e. 

Megoldás
eletkor = int(input(„Add meg az életkorodat: „))
if eletkor >= 18:
    print(„Nagykorú vagy”)
else:
    print(„Még nem vagy nagykorú”)

Összefoglalás

A feltételes utasítások segítségével a program képes eldönteni, hogy egy adott helyzetben mit tegyen. Az if azt jelenti, hogy ha, az else azt jelenti, hogy különben, az elif pedig egyébként ha. 

A Python if az egyik legfontosabb programozási alap, mert ezzel tudjuk a programot különböző esetek szerint eltérő irányba terelni. Az elágazások nélkül a program minden esetben ugyanazt csinálná, így nem tudna valódi döntéseket hozni. 

Gyakorló feladatok

1. Írj programot, amely bekér egy számot és eldönti páros vagy páratlan-e. 

Megoldás
szam = int(input(„Adj meg egy számot! „))
if szam % 2 == 0:
    print(„A szám páros”)
else:
    print(„A szám páratlan”)

2. Írj egy programot, amely bekér egy egész számot, majd eldönti, hogy a szám osztható-e 3-mal. 

Megoldás
szam = int(input(„Adj meg egy számot!”))
if szam % 3 == 0:
    print(„A szám osztható hárommal.”)
else:
    print(„A szám nem osztható hárommal.”)

3. Írj egy programot, amely bekér egy egész számot, majd eldönti, hogy a szám egyjegyű-e.  

Megoldás
szam = int(input(„Adj meg egy számot: „))
if szam > 10 and szam < 10:
    print(„A szám egyjegyű”)
else:
    print(„A szám többjegyű”)

4. Írj egy programot, amely bekér egy egész számot, majd eldönti, hogy a szám 5 és 20 közé esik-e. 

Megoldás
szam = int(input(„Adj meg egy számot: „))
if szam > 5 and szam < 20:
    print(„A feltétel teljesült”)
else:

    print(„A feltétel nem teljesült”

szam = int(input(„Adj meg egy számot: „))
if 5 < szam < 20:
    print(„A feltétel teljesült”)
else:
    print(„A feltétel nem teljesült”)

5. Írj egy programot, amely bekér egy egész számot, majd eldönti, hogy a szám kétjegyű-e 

Megoldás
szam = int(input(„Adj meg egy számot:”))
if 9 < szam <= 99 or -99 <= szam <= -10:
    print(„A szám kétjegyű”)
else:
    print(„A szám nem kétjegyű”)
 


szam = int(input(„Adj meg egy számot: „))
if 10 <= abs(szam) <= 99:
print(„A szám kétjegyű.”)
else:
print(„A szám nem kétjegyű.”)

Az abs az abszolút értéket adja meg, így nem kell vizsgálni külön a pozitív, negatív számokat. 

6. Írj egy programot, amely bekéri egy hónap sorszámát 1 és 12 között, majd kiírja, hogy az adott hónap melyik évszahoz tartozik

Megoldás
 honap = int(input(„Adj meg egy számot 1-12 között: „))
if 3 <= honapok <= 5:
    print(„Tavaszi hónap”)
elif 6 <= honap <= 8:
    print(„Nyári hónap”)
elif 9<= honap <=11:
    print(„Őszi hónap”)
else:
    print(„Téli hónap”)

Ha számolunk azzal is, hogy a felhasználó nem a megadott számok közül választ: 


honap = int(input(„Adj meg egy számot 1 és 12 között: „))

if 3 <= honap <= 5:
  print(„Tavaszi hónap.”)
elif 6 <= honap <= 8:
  print(„Nyári hónap.”)
elif 9 <= honap <= 11:
  print(„Őszi hónap.”)
elif honap == 12 or 1 <= honap <= 2:
  print(„Téli hónap.”)
else:
  print(„Ez nem érvényes hónap.”)

7. Írj egy programot, amely bekér egy óra értéket 0 és 23 között, majd kiírja, hogy a napszak: hajnal, reggel, délelőtt, délután, este, éjjel. Te döntöd el, hogy melyik napszak meddig tartson, de a határokat add meg egyértelműen a programban. 

Megoldás
ora = int(input(„Adj meg egy értéket 0 és 23 között: „))

if 0 <= ora <= 3 or 22 <= ora <= 23:
print(„Éjjel”)
elif 3 < ora < 6:
print(„Hajnal”)
elif 6 <= ora <= 9:
print(„Reggel”)
elif 9 < ora < 12:
print(„Délelőtt”)
elif ora == 12:
print(„Dél”)
elif 12 < ora < 18:
print(„Délután”)
elif 18 <= ora < 22:
print(„Este”)
else:
print(„Érvénytelen szám”)

 

Ha részletesebben szeretnél olvasni a Python if else működéséről, nézd meg a hivatalos Python dokumentáció control flow fejezetét.

 

Vidám anime lány számítógépnél grafikát készít, Inkscape alapok tanulása

Ha szeretnél továbbhaladni a Python programozással, lépj a következő leckére:

Python print

Python print

Python

Python print()

Amikor elkezdünk Pythonban programozni, az egyik legelső dolog, amivel találkozunk, a print() függvény. Ez arra szolgál, hogy valamit kiírjunk a képernyőre. Lehet ez szöveg, szám, egy változó értéke vagy akár több adat egyszerre is. 

A Python print azért ennyire fontos, mert ezen keresztül látjuk, mit csinál a programunk. Ha valamit kipróbálunk, ellenőrizni akarunk, vagy egyszerűen csak meg akarunk jeleníteni egy üzenetet, a print() lesz az egyik legjobb barátunk. Olyan, mint a program hangja, ezen keresztül szól vissza hozzánk

python bevezetés – anime lány laptopnál tanul programozni, barátságos python kígyóval

Mi az a print?

A print() egy beépített Python-függvény, amely kiírja a megadott értéket a képernyőre. A legegyszerűbb példa: 

print(„Hello világ”)

A zárójelek közé írjuk azt, amit meg szeretnénk jeleníteni. 

Ha szöveget szeretnénk kiiratni, akkor idézőjelek közé tesszük: 

print(„Szia!”)
print(‘Szia!’)

Mind a két idézőjel (” ” és ‘ ‘ ) is működik. A lényeg, hogy a ugyanazt használjuk nyitásnál és zárásnál is. 

Ha számokat szeretnél kiiratni, számokkal műveleteket szeretnél végeztetni, csak simán zárójelbe kerül a print után

print(12)
print(3 + 2)

Változó kiírása printtel

A print() nagyon gyakran változókkal együtt jelenik meg. 

szoveg = „Ez egy változóban tárolt szöveg”
print(szoveg)

Kimenet: Ez egy változóban tárolt szöveg. 

szam = 30
print(szam)

Kimenet: 30

A print tehát nemcsak közvetlenül megadott értékeket tud kiírni, hanem változókban tárolt adatokat is. 

Python változók illusztráció programozást tanuló lánnyal és különböző adattípusokat jelölő dobozokkal

Több sor kiírása

Ha egymás után több print() utasítást írunk, akkor minden új print új sorba kerül. 

print(„Első sor”)
print(„Második sor”)
print(„Harmadik sor”)

Ez azért van, mert a print() alapértelmezetten a kiírás végére sortörést tesz. De persze képes több értéket egyszerre is kiírni, ehhez csak vesszővel kell elválasztanunk őket egymástól

print(„Név: , „Bori”)
print(„Életkor: „, 12)

Ez akkor is működik, ha az egyik adat szöveg, a másik szám:

nev = „Bori”
eletkor = 12
print(„Név: „, nev, „Életkor: „, eletkor)

 

Szeparátor

A szeparátor (sep) azt szabályozza, hogy mi válassza el egymástól a kiírt elemeket. Alapértelmezetten egy szóköz lesz az elválasztó. 

print(„alma”, „körte”, „szilva”)

A kimenet: alma körte szilva

De ha mást szeretnénk, akkor azt a sep paraméterrel tudjuk beállítani:

print(„alma”, „körte”, „szilva”, sep=” # „)

akkor a kimenet: alma # körte # szilva

vagy 

print(„2026”, „03”, „24”, sep=”-„

akkor a kiírás: 2026-03-24 lesz

Ez a sep paraméter akkor hasznos, ha rendezettebben vagy különlegesebb formában szeretnénk megjeleníteni az adatokat. 

 

A print sorvége: end

A print() alapból a kiírás végére sortörést tesz. Ezt az end paraméterrel lehet megváltoztatni. Alapértelmezés szerint:

end=”\n”

Az \n a sortörés jele. Ha nem új sort akarunk: 

print(„Első”, end=” „)
print(„Második”)

akkor a kimenet: Első Második

 

Tabulátor használata

A tabulátor jelölése: \t

print(„alma”, end=”\t”)
print(„körte”)

Ha több tabulátort szeretnénk: 

print(„alma”, end=”\t\t”)
print(„körte)

Tehát az end azt mondja meg, mi kerüljön a print() sor végére. 

Szöveg és szám a printben

A print() sokkal rugalmasabb, mint a sima összefűzés. 

eletkor = 12
print(„Az életkorom: ” + eletkor)

ez hibás lenne, mert a szöveg és a szám különböző adattípus. Ehelyett ezt viszont működik:

eletkor = 12
print(„Az életkorom: „, eletkor)

 

Ha ettől részletesebben szeretnél a Python inputról olvasni, keresd meg a hivatalos dokumentációt

 

Vidám anime lány számítógépnél grafikát készít, Inkscape alapok tanulása

Ha szeretnél továbbhaladni a Python programozással, lépj a következő leckére: