Ezen az oldalon programozással kapcsolatos oktatási anyagokat találsz.
Micsoda | Link vagy fájl |
---|---|
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() ![]() Pico-8 5 percben:
Játék fejlesztés Pico-8 -al:
|
![]() |
![]() |
![]() |
|
|
![]() |
Microbit prezi |
![]() |
Bevezetés a programozás világába |
![]() |
Üdvözlés 3 féle nyelven |
![]() ![]() ![]() |
Programozási nyelvek megoszlása |
Feladat | Leírás 🔒 | Forrás fájl 🔒 |
---|---|---|
Egyszerű feladatok |
![]() |
![]() |
Feladat | Forrás fájlok |
---|---|
Godot 4.4.1 telepítése |
![]() |
Mario ugrálós |
![]() |
# Helló Világ, mindig ezzel kezdünk :-D
print("Hello Világ")
# Üdvözlés
nev = input("Kérlek, add meg a neved:")
print("Üdvözöllek, ", nev, "!")
# Bekérjük, hogy mennyi csokit evett a felhasználó
csoki = int(input("Mennyi csokit ettél ma? (0-10 közötti szám): "))
# Feltételes elágazás
if csoki == 0:
print("Hős vagy! Csak nem diétázol? 🦸")
elif 1 <= csoki <= 3:
print("Jól van, még belefér egy kis öröm. 😊")
elif 4 <= csoki <= 6:
print("Na na, vigyázz, nehogy elszállj a cukortól! 🚀")
elif 7 <= csoki <= 9:
print("Biztos vagy benne, hogy nem egy csokigyárban dolgozol? 🏭")
else:
print("10 csoki? Gratulálok, te vagy a Csoki Császár! 👑")
# Bekérjük, hogy mennyi csokit evett a felhasználó
csoki = int(input("Mennyi csokit ettél ma? (0-10 közötti szám): "))
# Match-case szerkezet
match csoki:
case 0:
print("Hős vagy! Csak nem diétázol? 🦸")
case 1 | 2 | 3: # 1, 2 vagy 3 csoki
print("Jól van, még belefér egy kis öröm. 😊")
case 4 | 5 | 6: # 4, 5 vagy 6 csoki
print("Na na, vigyázz, nehogy elszállj a cukortól! 🚀")
case 7 | 8 | 9: # 7, 8 vagy 9 csoki
print("Biztos vagy benne, hogy nem egy csokigyárban dolgozol? 🏭")
case 10: # Pontosan 10 csoki
print("10 csoki? Gratulálok, te vagy a Csoki Császár! 👑")
case _: # Minden más eset (pl. 10-nél több)
print("Hát, te már nem is ember vagy, hanem egy csokigép! 🤖")
# 1. For ciklus 1-től 10-ig
print("For ciklus 1-től 10-ig:")
for i in range(1, 11): # range(1, 11) -> 1-től 10-ig
print(i, end=" ")
print("\n") # Új sor
# 2. While ciklus 1-től 10-ig
print("While ciklus 1-től 10-ig:")
i = 1
while i <= 10:
print(i, end=" ")
i += 1 # i növelése 1-gyel
print("\n") # Új sor
# 3. For ciklus 10-től 1-ig
print("For ciklus 10-től 1-ig:")
for i in range(10, 0, -1): # range(10, 0, -1) -> 10-től 1-ig, -1-es lépéssel
print(i, end=" ")
print("\n") # Új sor
# 4. While ciklus 10-től 1-ig
print("While ciklus 10-től 1-ig:")
i = 10
while i >= 1:
print(i, end=" ")
i -= 1 # i csökkentése 1-gyel
print("\n") # Új sor
Ez a program, amely kilistázza az összes prímszámot 1000-ig. A program a prímszámok megtalálására a klasszikus "Sieve of Eratosthenes" (Eratoszthenész szitája) algoritmust használja, amely hatékony és könnyen megvalósítható.
def primes_up_to_1000():
# Egy lista, amely jelzi, hogy egy szám prím-e (True/False)
is_prime = [True] * 1001 # 0-tól 1000-ig
is_prime[0] = is_prime[1] = False # 0 és 1 nem prímszámok
# Eratoszthenész szitája
for number in range(2, int(1000**0.5) + 1): # Csak a négyzetgyökig megyünk
if is_prime[number]: # Ha a szám prím
for multiple in range(number * number, 1001, number): # A többszöröseit kizárjuk
is_prime[multiple] = False
# Prímszámok kigyűjtése
primes = [number for number, prime in enumerate(is_prime) if prime]
return primes
# Prímszámok listázása
primes = primes_up_to_1000()
print("Prímszámok 1000-ig:")
print(primes)
Ebben a játékban a gép gondol egy számra 1 és 100 között. A játékosnak ezt a számot kell kitalálni.
import random
# Véletlenszerű szám generálása 1 és 100 között
szam = random.randint(1, 100)
tipp = None # Kezdetben nincs tipp
print("Üdvözöllek a számkitalálós játékban!")
print("Gondoltam egy számra 1 és 100 között. Próbáld meg kitalálni!")
# Addig fut a ciklus, amíg a játékos el nem találja a számot
while tipp != szam:
# Játékos tippjének bekérése
tipp = int(input("Add meg a tipped: "))
# Tipp ellenőrzése
if tipp < szam:
print("A tipped kisebb, mint a gondolt szám. Próbáld újra!")
elif tipp > szam:
print("A tipped nagyobb, mint a gondolt szám. Próbáld újra!")
else:
print(f"Gratulálok, eltaláltad! A gondolt szám {szam} volt.")
Ez egy klasszikus játék, ahol a játékos a gép ellen játszik.
import random
# Lehetséges választások
valasztasok = ["kő", "papír", "olló"]
print("Üdvözöllek a Kő-Papír-Olló játékban!")
jatekos_valasztasa = input("Válassz: kő, papír vagy olló: ").lower()
gep_valasztasa = random.choice(valasztasok)
print(f"A gép választása: {gep_valasztasa}")
# Eredmény meghatározása
if jatekos_valasztasa == gep_valasztasa:
print("Döntetlen!")
elif (jatekos_valasztasa == "kő" and gep_valasztasa == "olló") or \
(jatekos_valasztasa == "papír" and gep_valasztasa == "kő") or \
(jatekos_valasztasa == "olló" and gep_valasztasa == "papír"):
print("Nyertél!")
else:
print("Vesztettél!")
Egy egyszerű számológép, amely alapműveleteket végez.
print("Egyszerű számológép")
szam1 = float(input("Add meg az első számot: "))
muvelet = input("Válassz műveletet (+, -, *, /): ")
szam2 = float(input("Add meg a második számot: "))
if muvelet == "+":
eredmeny = szam1 + szam2
elif muvelet == "-":
eredmeny = szam1 - szam2
elif muvelet == "*":
eredmeny = szam1 * szam2
elif muvelet == "/":
if szam2 != 0:
eredmeny = szam1 / szam2
else:
eredmeny = "Hiba: Nullával való osztás!"
else:
eredmeny = "Érvénytelen művelet!"
print(f"Eredmény: {eredmeny}")
A szöveges kalandjátékok (angolul text-based adventure games) az 1970-es és 1980-as években váltak népszerűvé...
# A helyszínek és az útvonalak dictionary-ben tárolva
helyszinek = {
"erdő": {
"leírás": "Egy sötét erdőben találod magad. Két út áll előtted: balra és jobbra.",
"lehetőségek": {"balra": "folyó", "jobbra": "barlang"}
},
"folyó": {
"leírás": "Egy folyóhoz értél. Átúszol a folyón, vagy keresel egy hidat?",
"lehetőségek": {"uszás": "vesztes", "híd": "nyertes"}
},
"barlang": {
"leírás": "Egy sötét barlanghoz értél. Belemész a barlangba, vagy visszafordulsz?",
"lehetőségek": {"barlang": "nyertes", "vissza": "vesztes"}
},
"nyertes": {
"leírás": "Gratulálok, nyertél! A kaland sikeresen véget ért.",
"lehetőségek": {}
},
"vesztes": {
"leírás": "Sajnos vesztettél. A kaland véget ért.",
"lehetőségek": {}
}
}
# Kezdő helyszín
jelenlegi_hely = "erdő"
# Játék ciklus
while True:
# Helyszín leírásának kiírása
print(helyszinek[jelenlegi_hely]["leírás"])
# Ha nincsenek további lehetőségek, a játék véget ér
if not helyszinek[jelenlegi_hely]["lehetőségek"]:
break
# Lehetőségek kiírása
print("Lehetőségeid:")
for lehetoseg, cel in helyszinek[jelenlegi_hely]["lehetőségek"].items():
print(f"- {lehetoseg}")
# Felhasználó választása
valasztas = input("Mit választasz? ").lower()
# Ellenőrizzük, hogy a választás érvényes-e
if valasztas in helyszinek[jelenlegi_hely]["lehetőségek"]:
jelenlegi_hely = helyszinek[jelenlegi_hely]["lehetőségek"][valasztas]
else:
print("Érvénytelen választás. Próbáld újra!")
Az alábbi programokban megnézzük a Python grafikai és animációs képességeit pár egyszerű példán keresztül.
# Piros kör a teknöc könyvtár felhasználásával
import turtle
# Turtle beállítása
t = turtle.Turtle()
t.shape("turtle") # Teknőc alak beállítása
t.color("red") # A toll színének beállítása pirosra
# Kör rajzolása
t.begin_fill() # Kitöltés kezdése
t.circle(100) # 100 pixel sugarú kör rajzolása
t.end_fill() # Kitöltés befejezése
# Ablak bezárása kattintásra
turtle.done()
# Piros kör a tkinter könyvtár felhasználásával
import tkinter as tk
# Fő ablak létrehozása
root = tk.Tk()
root.title("Piros kör") # Az ablak címe
# Vászon létrehozása
canvas = tk.Canvas(root, width=200, height=200, bg="white")
canvas.pack()
# Kör rajzolása
canvas.create_oval(50, 50, 150, 150, fill="red", outline="red") # (x1, y1, x2, y2) határoló téglalap
# Fő ciklus indítása
root.mainloop()
# Interaktív kör a tkinter könyvtár felhasználásával
import tkinter as tk
from tkinter import simpledialog
# Fő ablak létrehozása
root = tk.Tk()
root.title("Interaktív kör")
# Vászon létrehozása
canvas = tk.Canvas(root, width=200, height=200, bg="white")
canvas.pack()
# Kör méretének és színének bekérése
sugar = simpledialog.askinteger("Kör sugara", "Add meg a kör sugarát (pixelben):", minvalue=10, maxvalue=100)
szin = simpledialog.askstring("Kör színe", "Add meg a kör színét (pl. red, blue, green):")
# Kör rajzolása
x1 = 100 - sugar
y1 = 100 - sugar
x2 = 100 + sugar
y2 = 100 + sugar
canvas.create_oval(x1, y1, x2, y2, fill=szin, outline=szin)
# Fő ciklus indítása
root.mainloop()
import tkinter as tk
# Ablak létrehozása
root = tk.Tk()
root.title("Pattogó piros kör")
canvas = tk.Canvas(root, width=400, height=400, bg="white")
canvas.pack()
# Kör létrehozása
kör = canvas.create_oval(10, 10, 60, 60, fill="red")
# Kezdeti sebesség és irány
sebesség_x = 5 # vízszintes sebesség
sebesség_y = 5 # függőleges sebesség
def mozgat():
global sebesség_x, sebesség_y
# Kör pozíciójának lekérése
pozíció = canvas.coords(kör)
x1, y1, x2, y2 = pozíció
# Ütközés észlelése a képernyő szélein
if x1 <= 0 or x2 >= 400: # Bal vagy jobb szél
sebesség_x *= -1 # Vízszintes irány megfordítása
if y1 <= 0 or y2 >= 400: # Felső vagy alsó szél
sebesség_y *= -1 # Függőleges irány megfordítása
# Kör mozgatása
canvas.move(kör, sebesség_x, sebesség_y)
# Animáció frissítése (20 ms után újra meghívjuk a mozgat függvényt)
root.after(20, mozgat)
# Animáció indítása
mozgat()
# Fő ciklus indítása
root.mainloop()
import tkinter as tk
# Ablak létrehozása
root = tk.Tk()
root.title("Pattogó piros kör és ütő")
canvas = tk.Canvas(root, width=400, height=400, bg="white")
canvas.pack()
# Kör létrehozása
kör = canvas.create_oval(10, 10, 60, 60, fill="red")
# Ütő létrehozása
ütő = canvas.create_rectangle(150, 380, 250, 390, fill="blue")
# Kezdeti sebesség és irány
sebesség_x = 5 # vízszintes sebesség
sebesség_y = 5 # függőleges sebesség
# Ütő mozgatása
def ütő_mozgat(event):
pozíció = canvas.coords(ütő)
if event.keysym == "Left" and pozíció[0] > 0: # Balra nyíl
canvas.move(ütő, -20, 0)
elif event.keysym == "Right" and pozíció[2] < 400: # Jobbra nyíl
canvas.move(ütő, 20, 0)
# Billentyű események figyelése
root.bind("", ütő_mozgat)
root.bind("", ütő_mozgat)
def mozgat():
global sebesség_x, sebesség_y
# Kör pozíciójának lekérése
pozíció = canvas.coords(kör)
x1, y1, x2, y2 = pozíció
# Ütközés észlelése a képernyő szélein
if x1 <= 0 or x2 >= 400: # Bal vagy jobb szél
sebesség_x *= -1 # Vízszintes irány megfordítása
if y1 <= 0: # Felső szél
sebesség_y *= -1 # Függőleges irány megfordítása
elif y2 >= 400: # Alsó szél (játék vége)
print("Játék vége! A kör leesett.")
root.destroy() # Ablak bezárása
return
# Ütközés észlelése az ütővel
ütő_pozíció = canvas.coords(ütő)
if y2 >= ütő_pozíció[1] and x1 >= ütő_pozíció[0] and x2 <= ütő_pozíció[2]:
sebesség_y *= -1 # Függőleges irány megfordítása
# Kör mozgatása
canvas.move(kör, sebesség_x, sebesség_y)
# Animáció frissítése (20 ms után újra meghívjuk a mozgat függvényt)
root.after(20, mozgat)
# Animáció indítása
mozgat()
# Fő ciklus indítása
root.mainloop()
Add meg a 4 jegyű kódot: