Hirdetés
- Google Pixel topik
- Okosóra és okoskiegészítő topik
- Xiaomi 13 - felnőni nehéz
- Samsung Galaxy Watch6 Classic - tekerd!
- Megérkezett a Google Pixel 7 és 7 Pro
- Honor Magic8 Lite - a félig sikerült bűvésztrükk
- Elkalapálta a snapdragonos Galaxy S26 az exynososat
- Drasztikus változást mutat a Sony mobilja az első képeken
- iPhone topik
- Pro billentyűzettel bővült a Galaxy Tab S11 Ultra kiegészítőinek sora
Ú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
- Házimozi haladó szinten
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Allegro vélemények - tapasztalatok
- Hobby elektronika
- Google Pixel topik
- 50 év után kilőtt négy űrhajós a Holdra
- Okosóra és okoskiegészítő topik
- Felhő alapú adattárolás (Dropbox, stb.)
- Kerékpárosok, bringások ide!
- Noctua+Asetek: egyre közelebb a Noctua első vízhűtése
- További aktív témák...
- újszerű iPhone Air 256GB space black asztrofekete független Apple 3 év garancia iStyle vásárlás
- Armani Acqua di Giò Profondo Parfum 50ml
- MacBook Air M3 256GB SSD space gray asztroszürke Apple magyar 2 év AppleCare garancia
- újszerű iPad Mini (6. generációs) 64GB Wi-Fi space gray asztroszürke ajándék tok és fólia
- Yves Saint Laurent Y EDP 60ml
- AKCIÓ! ASRock A520M R5 3600 16GB DDR4 512GB SSD GTX 1060 6GB ZALMAN T3 Plus Deepcool 400W
- Samsung Galaxy S24 / 8/128GB / Kártyafüggetlen /12Hó Garancia / Akku: 100%
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Lenovo T14 Gen 1 Ryzen 5 pro 4650U, 16GB RAM, 512GB SSD, jó akku, számla, garancia
- GeForce GTX 1650 SUPER (OEM HP) -
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

