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

Delete etusivu.py

parent a4a87ede
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.
Finish editing this message first!
Please register or to comment