Új hozzászólás Aktív témák
-
XP NINJA
őstag
válasz
cousin333
#449
üzenetére
Köszönöm a részletes választ.

Az általad javasolt módhoz még nem jutottam el, az utolsó két feladaton kivül működik a program, de gyanitom nem a legegyszerűbb módon. Nem törekszem a legeslegegyszerűbb módra, annak szerintem még nincs itt az ideje, de ezt én is túlzásnak érzem.
def feladat_1():
lista=[]
f=open("foglaltsag.txt")
for sor in f:
sor=sor.strip()
soronként=list(sor)
lista.append(soronként)
f.close()
return lista
lista=feladat_1()
print("2. feladat")
def feladat_2():
sorszam=int(input("Adja meg a sor számát: "))
szekszam=int(input("Adja meg a szék számát: "))
sor=lista[sorszam-1]
if sor[szekszam-1]==('x'):
print("A hely foglalt")
else:
print("A hely szabad")
feladat_2()
print("3. feladat")
def feladat_3():
f=open("foglaltsag.txt")
jegyek=0
for sor in f:
list(sor)
sorcnt=sor.count("x")
jegyek=jegyek+sorcnt
szazalekban=int((jegyek/300)*100)
print("Az előadásra eddig {0} jegyet adtak el, ez a nézőtér {1}%-a.".format(jegyek, szazalekban))
f.close()
feladat_3()A 4. for ciklusra gondoltam, de nem sikerült, viszont működik.
print("4. feladat")
def feladat_4():
f=open("kategoria.txt")
kat1=0
kat2=0
kat3=0
kat4=0
kat5=0
for sor in f:
list(sor)
cnt1=sor.count("1")
cnt2=sor.count("2")
cnt3=sor.count("3")
cnt4=sor.count("4")
cnt5=sor.count("5")
kat1=kat1+cnt1
kat2=kat2+cnt2
kat3=kat3+cnt3
kat4=kat4+cnt4
kat5=kat5+cnt5
kategoriak=[kat1,kat2,kat3,kat4,kat5]
legtobb=(kategoriak.index(max(kategoriak))+1)
print("A legtöbb jegyet a(z) {0}. árkategóriában értékesítették.".format(legtobb) )
f.close()
feladat_4()Az 5. feladat az előző leve alapján működik, de ez is hosszú.
print("5. feladat")
def feladat_5():
f=open("kategoria.txt")
kat1=0
kat2=0
kat3=0
kat4=0
kat5=0
for sor in f:
list(sor)
cnt1=sor.count("1")
cnt2=sor.count("2")
cnt3=sor.count("3")
cnt4=sor.count("4")
cnt5=sor.count("5")
kat1=kat1+cnt1
kat2=kat2+cnt2
kat3=kat3+cnt3
kat4=kat4+cnt4
kat5=kat5+cnt5
ar1=kat1*5000
ar2=kat2*4000
ar3=kat3*3000
ar4=kat4*2000
ar5=kat5*1500
print("A bevétel pillanatnyilag {0}Ft".format(ar1+ar2+ar3+ar4+ar5))
f.close()
feladat_5()A 6. és 7. feladat nem sikerült, de bemásolom mivel próbálkoztam.
def feladat_6():
f=open("foglaltsag.txt")
#lista=[]
rossz1=0
rossz2=0
rossz3=0
for sor in f:
list(sor)
#sor=sor.strip()
#soronként=list(sor)
#lista.append(soronként)
#print(sor)
#print(soronként)
#lista.append(sor)
cnt1=lista.count("x")
cnt2=lista.count("xox")
cnt3=lista.count("xo")
rossz1=rossz1+cnt1
rossz2=rossz2+cnt2
rossz3=rossz3+cnt3
print(rossz1)
print(rossz1)
print(rossz1)
f.close()
feladat_6()
def feladat_7():
f=open('szabad.txt','w')
for i in range(300):
if lista[i]=="x":
f.close()
feladat_7()Összegzésben eddig ez a legjobb munkám, eddig még egyik érettségivel sem jutottam el.
A megoldókulcsból ha jól értelmezem 4 pontot veszithetek a program terjedelme miatt?
Illetve a saját függvények készitése viszonylag megy, csak még hasznositani nem nagyon próbáltam. -
cousin333
addikt
válasz
cousin333
#449
üzenetére
Így belegondolva az általam megadott példában talán célravezetőbb lenne, ha elrejtenénk a felhasználó elől a tényt, hogy a lista számozása nullától indul. Továbbá nem kellene a függvénynek többet csinálnia, mint amennyi szükséges, majd a program írója eldönti mihez kezd az információval. Tehát talán inkább ezt írnám:
def foglaltsag_ellenorzes(lista, sor, szek):
# Ennek az eredménye igaz vagy hamis (True/False)
return lista[sor-1][szek-1] == "x"
# 2. feladat
sorszam = int(input("Adja meg a sor szamat: "))
szekszam = int(input("Adja meg a szek szamat: "))
# Az if a visszatérési értéket vizsgálja
if foglaltsag_ellenorzes(lista, sorszam, szekszam):
print("A szek foglalt")
else:
print("A szek ures") -
cousin333
addikt
válasz
cousin333
#449
üzenetére
A "logikai függvényesítés" előnye a feladatszám-központúval szemben, hogy az 1-es feladat is könnyebben megoldható, hiszen ott nem is egy, hanem két hasonló felépítésű fájlt kell beolvasni. Így az előző hozzászólásom utolsó sora helyett elég ennyi kiegészítés:
fog_lista = fajl_beolvasas("foglaltsag.txt")
kat_lista = fajl_beolvasas("kategoria.txt")
Új hozzászólás Aktív témák
- Vezeték nélküli fülhallgatók
- Apple MacBook
- Kutya topik
- eMAG vélemények - tapasztalatok
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Le Mans Ultimate
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Vicces képek
- Vezeték nélküli fejhallgatók
- További aktív témák...
- Xbox Series S játékkonzol
- Eladó több darab 8GB DDR4 SODIMM laptop memória modul.
- Újszerű iPhone 17 Pro Max 256GB silver ezüst független Apple 1 Év garancia
- DELL Precision 7550 ntel Core I7-10750H, 64 GB, 1TB SSD MAGYAR VILÁGITÓS BILL
- Lenovo Thinkpad T14 GEN5 Ultra7 165U, 1 tb, 32gb ram, MAGYAR VILÁGÍTÓ BILLENTYŰZET GARIS
- LG 65C3 - 65" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
- Új MSI 15 Cyborg FHD IPS 144Hz i7-13620H 10mag 16GB 512GB SSD Nvidia RTX 4060 8GB Win11 Garancia
- DELL Precision 3430 SFF,i7-8700,8GB,256GB SSD,NVIDIA Quadro P620 VGA,Win11
- 5G Lenovo ThinkPad P14s Gen 3 Intel Core i7-1280P Nvidia T550 32GB 1000GB 1 év teljeskörű garancia
- Samsung Galaxy S25 256GB,Újszerű,Dobozaval,12 hónap garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


