- Xiaomi 17 Ultra - jó az optikája
- Samsung Galaxy S26 - szeret, nem szeret
- Túl jól fogy az S26, túlóráznia kell a gyártósoroknak
- Google Pixel topik
- iPhone topik
- Xiaomi 15T Pro - a téma nincs lezárva
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Honor 600 Lite - koffein nélkül
- Nemzetközi vizekre evezett a Realme GT 7 és GT 7T
- És mi marad a Honor 600 bemutatójára?
Új hozzászólás Aktív témák
-
cousin333
addikt
válasz
XP NINJA
#446
üzenetére
Így első blikkre azért nem működött a második feladatod a függvényes módszerrel, mert nem is hívtad meg. A végén feladat_2 helyett feladat_2()-t kellett volna írni.
Szerintem egyébként mindkét megoldás lehet jó, bár az ilyen egymásra épülő feladatoknál talán nagyobb "érettséget" sugall egy harmadik módszer: a kettő kombinációja. Ilyenkor folyamatosan adod hozzá a függvényeket, amik egy jól meghatározott funkciót hajtanak végre, ami nem feltétlenül esik egybe a (teljes) kiírásbeli feladattal. Ezeket pedig egy "fő programban" hívogatod meg szükség szerint.
A példádban ott a 2. feladat, ami annak eldöntése, hogy foglalt-e egy hely, vagy sem. Ebből készíthetnél egy foglaltsag_ellenorzes(lista, x, y) nevű függvényt, ami csak annyit csinál, hogy megnézi a lista-t, hogy az x, y hely foglalt-e (igen/nem), majd a feladathoz kapcsolódva megcsinálod a "körítést". Pl:
def foglaltsag_ellenorzes(lista, sor, szek):
if lista[sor][szek] == "x":
print("A szek foglalt")
else:
print("A szek ures")
# 2. feladat
sorszam = int(input("Adja meg a sor szamat: "))
szekszam = int(input("Adja meg a szek szamat: "))
foglaltsag_ellenorzes(lista, sorszam-1, szekszam-1)Ha már egyszer elkészült egy függvény, vagy megvan egy adat, akkor azt nem kell ismételni. Mondjuk a hármas példában feleslegesen olvasod be újra a foglaltsag.txt fájlt, hiszen azt már az első feladatnál megtetted. De ahhoz is lehetne egy sima fajl_beolvasas(fajlnev) függvényed, aminek csak a fájl listába olvasása lenne a dolga.
Két további megjegyzés a beolvasáshoz: jobb lenne mindezt a with kifejezéssel megtenni, ami automatikusan zárja is a fájlt. A másik, hogy szerintem felesleges a sorokat is külön listaelemekre bontani, hiszen egy-egy sor az tulajdonképpen egy sztring, ami eleve karakterenként indexelhető. Pl.:
def fajl_beolvasas(fajlnev):
with open(fajlnev, "r") as f:
lista = [line.strip() for line in f]
return lista
lista = fajl_beolvasas("foglaltsag.txt")
Új hozzászólás Aktív témák
- Új Dobozos Lenovo Thinkpad P14s G5 Workstation Laptop 14" -45% Ultra 7 165H 32/512 RTX 500 3K 120Hz
- Revel Performa3 5.1 szett + Primare SPA23
- Sony Alpha a7R IV tükör nélküli digitális fényképezőgép váz (ILCE-7RM4A) Új modell
- Új Dobozos Dell Latitude 3450 Laptop 14" -40% i7-1355U 16GB/256GB SSD NVIDIA MX570A 2GB FHD
- Megkímélt HP EliteBook 855 G7 Fémházas Strapabíró Laptop 15,6" -65% AMD Ryzen 3 PRO 4450U 16/256 FHD
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
- Thermalright Aqua Elite 360 V3
- Gamer PC-Számítógép! Csere-Beszámítás! I5 9600KF / RTX 3060Ti / 16GB DDR4 / 256SSD + 2TB HDD
- Asus BTF White GAMING PC! 7800X3D / RTX 5070 Ti / B850 / 32GB 6000MHz / 2TB NVMe / 850w Gold!
- Baofeng UV-5R Mini kézi amatőr rádió
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

