Feladat
Valósítsa meg az alábbi feladatot a tanult programozási nyelven:
Forrásfájl:
A feladat megoldására ajánlott időkeret:
40 perc
Ahhoz, hogy Ön ellenőrizni tudja munkaidejét, használhatja az itt található stoppert.
Az órát
Önnek kell elindítania, az idő számolását pedig szükség esetén bármikor
szüneteltetheti. Az óra 40 perc után sem fog megállni -
addig számol,
amíg Ön le nem állítja. Viszont az idő 3/4 részének elteltekor diszkrét
figyelmeztető hangjelzést fog adni, majd pedig az időkeret lejártával csipogni fog.
A
hangokat az alábbi hangszóró ikonokra kattintva előzetesen ki is próbálhatja.
Figyelmeztető hang 30 perc után
Csipogó hang az időkeret végén
Amennyiben nem szeretne hangjelzéseket hallani, akkor ezt
kikapcsolhatja a stopperen.
Eddig 7 hozzászólás van a témához:
2021-10-08 21:40
Atis
Pythonba nincs meg a megoldás valakinek?
2021-12-02 22:16
KozmaRóbert
#Most már van;) A Tray - catch még nincs benne és a dátumok nem #időrendbe vannak.........
import datetime
adat = open("lift.txt", "r", encoding = 'utf-8')
sorok =adat.readlines()
adat.close()
datumok=[]
indE=[]
érkE=[]
Kszam=[]
részL=[]
datÉv=[]
datHó=[]
datNap=[]
dnap=[]
import datetime as dt
for sor in sorok:
if len(sor)>0 and len(sor)< =1000:
részL=sor.strip("
")
datumok.append(részL[0:11])
datÉv.append(részL[0:4])
datHó.append(részL[5:7])
datNap.append(részL[8:11])
Kszam.append(részL[12:14])
indE.append(részL[14:16])
érkE.append(részL[16:18])
dt=datumok
print("A Liftet: ",len(datumok)," alkalommal használták")
print ("A követező időközben: ",datumok[0],"-",datumok[len(datumok)-1])
max=int(érkE[0])
for e in érkE:
if (int(e)) > max:
max = (int(e))
print("A legmagasabb emelet amelyre, utaztak:", max)
kmx = int(Kszam[0]) # legnagyobb kártyaszám megatározása
for k in Kszam:
if (int(k))> kmx:
kmx =(int(k))
print("")
KszamKér=int(input("Adjon meg egy kártyaszámot: "))
if ((int(KszamKér)) < = kmx and (int(KszamKér)) >= 1):
létezöK=True
else:
KszamKér = 5
print ("Nincs ilyen Kártya , így az 5-számú kártyával számolt tovább a program!")
EszamKér=int(input("Adjon meg egy emeletszamot: "))
print("")
utaz=[]
for i in range(0,len(datumok)):
if((int(Kszam[i])==KszamKér) and (int(érkE[i])==EszamKér)):
utaz.append(i)
else:
y=0
if (len(utaz))>0:
print("Történt utazás: ",KszamKér,". kártyával a: ",EszamKér,". emeletre.")
else:
print("NEM törtrént utazás: ", KszamKér, ". kártyával a: ", EszamKér, ". emeletre.")
print("")
egyel=set(dt)# azonos datum elemek szelektálása
print("A használatok száma dátumok szerint: ")
print("")
for i in egyel:# használatok bontásban
print(i," napon",dt.count(i)," alkalommal használták a liftet.")
2021-12-04 12:22
KozmaRóbert
# Python megoldás 2
#Elkészült a 2.0 verzió
#Try - Catch -kiegészítés és dátum rendezéssel.
import datetime
adat = open("lift.txt", "r", encoding = 'utf-8')
sorok =adat.readlines()
adat.close()
datumok=[]
indE=[]
érkE=[]
Kszam=[]
részL=[]
datÉv=[]
datHó=[]
datNap=[]
dnap=[]
import datetime as dt
for sor in sorok:
if len(sor)>0 and len(sor)< =1000:
részL=sor.strip("
")
datumok.append(részL[0:11])
datÉv.append(részL[0:4])
datHó.append(részL[5:7])
datNap.append(részL[8:11])
Kszam.append(részL[12:14])
indE.append(részL[14:16])
érkE.append(részL[16:18])
dt=datumok
dt.sort(reverse = False)
print("A Liftet: ",len(datumok)," alkalommal használták")
print ("A követező időközben: ",datumok[0],"-",datumok[len(datumok)-1])
max=int(érkE[0])
for e in érkE:
if (int(e)) > max:
max = (int(e))
print("A legmagasabb emelet amelyre, utaztak:", max)
kmx = int(Kszam[0]) # legnagyobb kártyaszám megatározása
for k in Kszam:
if (int(k))> kmx:
kmx =(int(k))
print("")
KszamKér=0
EszamKér=0
try:
KszamKér=int(input("Adjon meg egy kártyaszámot: "))
except (TypeError,ValueError):
print("Nem megfelelő, bemeneti értéket adott meg !")
print("")
if ((int(KszamKér)) < = kmx and (int(KszamKér)) >= 1):
létezöK=True
else:
KszamKér = 5
print ("Nincs ilyen Kártya , így az 5-számú kártyával számolt tovább a program!")
print("")
try:
EszamKér=int(input("Adjon meg egy emeletszamot: "))
except (TypeError,ValueError):
print("Nem megfelelő, bemeneti értéket adott meg !")
print("")
utaz=[]
for i in range(0,len(datumok)):
if((int(Kszam[i])==KszamKér) or (int(érkE[i])==EszamKér)):
utaz.append(i)
else:
EszamKér=5
if (len(utaz))>0:
print("Történt utazás: ",KszamKér,". kártyával a: ",EszamKér,". emeletre.")
else:
print("NEM törtrént utazás: ", KszamKér, ". kártyával a: ", EszamKér, ". emeletre.")
print("")
egyel=set(dt)# azonos datum elemek szelektálása
db=[]
for c in egyel:# szelektálás miatt felborult időrend visszarendez
db.append(c)
db.sort(reverse = False)
print("A használatok száma dátumok szerint: ")
print("")
for i in db:# használatok bontásban COUNT ugyanazon elemeket számol ki
print(i," napon",dt.count(i)," alkalommal használták a liftet.")
2022-02-22 19:56
Gávrás Dávid Patrik
C# megoldás:
https://github.com/Dewyd/Feladatok/tree/main/C%23/Hotellift
2022-06-17 22:17
ztibor
Megoldás Pythonban (listával)
https://github.com/ztibor/ztibor/blob/main/Lift.py