Skip to content
Snippets Groups Projects
Commit a4100019 authored by Annukka Heinonen's avatar Annukka Heinonen
Browse files

Delete varaaminen_oikein.py

parent f19e557c
No related branches found
No related tags found
No related merge requests found
elokuvalista = {'Nälkäpeli': ('2h 37min', 16), 'Dune': ('3h 30min', 12), 'Megalodon': ('2h 45min', 16)}
elokuva_lista = ["Nälkäpeli", "Dune", "Megalodon"]
varaukset = {}
def elokuvien_tiedot(elokuva: tuple):
ikaraja, kesto = elokuva
print(f"{ikaraja}, {kesto}")
#Yritin tehdä sen listan ja siihen liittyvän sanakirjan, että pystyis tarkasteelee niitä elokuvia erikseen
#toi arvostelu tosi hauska lisä mun mielestä, mitä asteikkoa käytetään? 1-5? tähdet ois kivat mut en tiiä mistä ne sais (annukka)
def varaus():
eka_sali = [[1,2,3,4,5,6,7,8,9,10],
[11,12,13,14,15,16,17,18,19,20],
[21,22,23,24,25,26,27,28,29,30],
[31,32,33,34,35,36,37,38,39,40],
[41,42,43,44,45,46,47,48,49,50],
[51,52,53,54,55,56,57,58,59,60],
[61,62,63,64,65,66,67,68,69,70],
[71,72,73,74,75,76,77,78,79,80],
[81,82,83,84,85,86,87,88,89,90],
[91,92,93,94,95,96,97,98,99,100]]
toka_sali = [[1,2,3,4,5,6,7],
[8,9,10,11,12,13,14],
[15,16,17,18,19,21,22],
[23,24,25,26,27,28,29],
[30,31,32,33,34,35,36],
[37,38,39,40,41,42,43],
[44,45,46,47,48,49,50]]
kolmas_sali = [[1,2,3,4,5,],
[6,7,8,9,10],
[11,12,13,14,15],
[16,17,18,19,20],
[21,22,23,24,25]]
salit={"1 sali":eka_sali, "2 sali": toka_sali, "3 sali":kolmas_sali}
elokuvalista = {'Nälkäpeli': ('2h 37min', 16), 'Dune': ('3h 30min', 12), 'Megalodon': ('2h 45min', 16)}
naytosajat = {'Nälkäpeli': [["12.12", "12:00", "3 sali" ],
["13.12", "14:30", "2 sali"],
["14.12", "15:45", "1 sali"]],
'Dune': [["13.12", "20:00", "2 sali"],
["14.12", "21:00", "3 sali"],
["15.12", "20:30", "1 sali"]],
'Megalodon': [["12.12", "15:00", "3 sali"],
["14.12", "17:00", "1 sali"],
["16.12", "16:30", "2 sali"]]}
def tallennavaraus(varaaja, elokuva, aika, paiva, saliNimi, paikka):
global varaukset#tallentaa uuden varauksen varaukset.txt tiedostoon
with open("varaukset.txt", "a") as tiedosto:
rivi = f"{varaaja},{elokuva},{aika},{paiva},{saliNimi},{paikka}" + "\n"
tiedosto.write(rivi)
varaukset[varaaja]=f"{varaaja},{elokuva},{aika},{paiva},{saliNimi},{paikka}"
def haevaraukset(): #hakee varaukset varaukset.txt tiedostosta
global varaus
varaukset.clear()
with open("varaukset.txt", "r") as tiedosto:
for rivi in tiedosto:
if rivi == "":
return
tiedot=rivi.strip().split(",")
varaukset[tiedot[0]]=",".join(tiedot[1:])
def tulosta_naytokset(elokuva): #tulostaa elokuvan kaikki näytökset
for i in range(len(naytosajat[elokuva])):
print(naytosajat[elokuva][i][0], naytosajat[elokuva][i][1], naytosajat[elokuva][i][2])
def tulosta_sali(salit):
for rivi in salit:
print(rivi)
def varaa_paikka(sali, paikka):
for rivi in sali:
for penkki in rivi:
if penkki == paikka:
penkki == "X"
def on_varattavissa(sali, paikka):
for rivi in sali:
for penkki in rivi:
if penkki == paikka:
if penkki == "X":
return False
return True
def tee_varaus(elokuva,naytos): #paikan varaamninen tehdään tällä funktiolla
onVarannut = False
salikartta = naytosajat[elokuva][naytos][2]
paikka = int(input("Anna paikan numero: "))
if on_varattavissa(salikartta, paikka):
varaa_paikka(salikartta, paikka)
onVarannut = True
else:
print("Varaa toinen paikka.")
return paikka
def tulostaVaratut(paiva,aika,sali):
global varaukset#funktio, joka tulostaa varatut paikat X:nä salikartassa1
paikat = []
for varaus in varaukset:
jaettu=varaukset[varaus].split(",")
time=jaettu[1]
date=jaettu[2]
if date==paiva and time==aika:
paikat.append(jaettu[-1])
for rivi in salit[sali]:
for paikka in rivi:
if str(paikka) in paikat:
print("X",end=" ")
else:
print(paikka,end=" ")
print()
def varaa_elokuva(): #itse elokuvan ja paikan varaaminen on tämän funktion alla
elokuvaValittu = False
while not elokuvaValittu:
for i in elokuvalista:
print(i) #listaa elokuvat, mitä nähtävissä
elokuva = input("Valitse haluamasi elokuva: ")#syötetään haluttu elokuvan nimi
if elokuva in naytosajat: #käy läpi onko elokuva näytosajat sanakirjassa
elokuvaValittu = True
else:
print("Elokuva ei ole ohjelmistossa.") #jos elokuva ei ole näytösajoissa, kertoo että elokuva ei ole nähtävissä
tulosta_naytokset(elokuva)
elokuvan_indexi = list(naytosajat.keys()).index(elokuva)
naytos = int(input("Valitse haluamasi näytös: "))# 1 eka näytös, 2 toinen näytös, 3 kolmas näytös
ajat=naytosajat.get(elokuva)
sali=ajat[naytos-1][2]
print(sali)
#tulostaa salin, jossa näytös on
paiva,aika,salinro=naytosajat[elokuva][naytos]
tulostaVaratut(paiva, aika, sali) #tulostaa salikartan, jossa näkyy näkyy varatut paikat X:llä
nimi = input("Anna nimi, jolle varaus tehdään: ") #kysyy nimen, jolle varaus tehdään
paikka = tee_varaus(elokuva,naytos) #tee_varaus funktio kysy halutun istumapaikan ja varaa sen
tallennavaraus(nimi,elokuva,aika,paiva,salinro,paikka) #tallentaa varauksen tiedot varaukset.txt tiedostoon
print("Kiitos varauksesta!")
main_varaus()
def main_varaus(): #varaamisen valikko, josta pääsee varaamaan tai takaisin etusivulle
print("1 varaa elokuva")
print("2 palaa etusivulle")
arvo = int(input("Anna toiminto: "))
haevaraukset()
if arvo == 1:
varaa_elokuva()
elif arvo == 2:
print("Kiitos ja hei!")
main()
main_varaus()
def admin():
print("Tähän tulee ylläpito! :)")
#tähän kasataan ylläpito, eli ensin salasana
#sitten uusi looppi vaihtoehtoisille toiminnoille ja uusia funktioita sit näille
#tästä eteenpäin ei käytännössä tarttee koskea, muuten kuin jos funktioille lisää parametreja
#(en oo sata varma miten niitä tässä käytettäisiin mutta selviää varmasti ajallaan)
def main():
print("1 Varaaminen")
print("2 ylläpito")
print("3 Elokuvat ja niiden tiedot") # lisäsin sen elokuvien tarkasstelun tähän alotukseen
print("0 sulkee järjestelmän")
while True:
arvo = int(input("Anna toiminto: "))
if arvo == 1:
varaus()
elif arvo == 2:
admin()
elif arvo == 3:
print(elokuva_lista)
elokuva = input("Syötä haluamasi elokuvan nimi katsoaksesi sen tiedot: ")
elokuvien_tiedot(elokuvalista[elokuva])
main()
elif arvo == 0:
print("Kiitos ja hei!")
break
main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment