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

Delete elokuvateatteri.py

parent aefbf8d1
No related branches found
No related tags found
No related merge requests found
elokuvalista = {}
naytosajat = {}
elokuva_lista = naytosajat.keys()
varaukset = {}
oikea = ""
def nouda_salasana():
with open("salasana.txt", "r") as tiedosto:
for rivi in tiedosto:
oikea = rivi.strip()
return oikea
def nouda_elokuvalista():
with open("elokuvalista.txt", "r") as tie:
for rivi in tie:
kasa=rivi.strip().split(",")
elokuvalista[kasa[0]] = (kasa[1], kasa[2])
return elokuvalista
def nouda_naytokset():
with open("naytosajat.txt", "r") as tied:
for rivi in tied:
joukko = rivi.strip().split(":")
joukko2 = joukko[1].strip().split(";")
arvo = []
for i in joukko2:
joukko3 = i.strip().split(",")
arvo.append(joukko3)
naytosajat[joukko[0]] = arvo
return naytosajat
def lisaa_elokuva(nimi: str, kesto: str, ikaraja: int):
with open("elokuvalista.txt", "a") as t:
t.write(nimi + ", " + kesto + ", " + ikaraja + "\n")
nouda_elokuvalista()
def lisaa_naytos(naytosajat: dict, nimi: str, paiva: str, kello: str, sali: str):
with open("naytosajat.txt", "a") as naytokset:
naytos = [paiva, kello, sali] #uusi näytös listan
if not nimi in naytosajat.keys():
naytosajat[nimi] = naytos
naytokset.write(nimi + ": " + paiva + ", " + kello + ", " + sali + "; " "\n")
else:
with open("naytosajat.txt", "r") as naytokset:
rivit = naytokset.readlines()
for i in rivit:
if i.split(":")[0] == nimi:
rivit[rivit.index(i)] = i.strip() + paiva + "," + kello + "," + sali + "\n"
with open("naytosajat.txt", "w") as tie:
tie.writelines(rivit)
nouda_naytokset()
def selaa_varauksia():
with open("varaukset.txt", "r") as tiedosto:
print("Varaukset:")
for rivi in tiedosto:
lista = rivi.strip().split(",")
print(f"Varaaja: {lista[0]}, Elokuva: {lista[1]}, Näytös: {lista[2], lista[3], lista[4]}, Paikka: {lista[5]} ")
def salasanan_vaihtaminen():
while True:
vanha = input("Anna vanha salasana: ")
if vanha == nouda_salasana():
while True:
uusi1 = input("Anna uusi salasana: ")
uusi2 = input("Anna uusi salasana uudelleen: ")
if uusi1 == uusi2:
with open("salasana.txt", "w") as tiedosto:
tiedosto.write(uusi1)
print("Salasanan vaihto onnistui!")
break
else:
print("Uudet salasanat eivät olleet samoja.")
jatko = input("Jos haluat yrittää uudelleen paina 1, jos haluat palata ylläpitoon paina 2.")
if jatko == 2:
break
break
else:
print("Vanha salasana ei ollut oikein.")
def admin():
nouda_elokuvalista()
nouda_naytokset()
while True:
print("1 lisää elokuva")
print("2 lisää näytös")
print("3 selaa varauksia")
print("0 sulkee järjestelmän")
arvo = int(input("Anna toiminto: "))
if arvo == 1:
nimi = input("Anna elokuvan nimi: ")
kesto = input("Anna elokuvan kesto (0h 0min): ")
ikaraja = input("Anna elokuvan ikäraja (K16): ")
lisaa_elokuva(nimi, kesto, ikaraja)
elif arvo == 2:
print(f"Ohjelmistossa nyt: {elokuvalista.keys()}")
nimi = input("Mihin elokuvaan haluta lisätä näytöksen? ")
#!!!!!!!!lisää varmistus, jolla ohjelma ei kaadu vain funktio loppuu jos nimi on väärin
paiva = input("Minä päivänä näytös on? (dd.mm.) ")
kello = input("Mihin aikaan näytös on? (hh:mm) ")
sali = input("Missä salissa näytös on? ")
lisaa_naytos(naytosajat, nimi, paiva, kello, sali)
elif arvo == 3:
selaa_varauksia()
if arvo == 0:
break
def salaus():
indeksi = 3
while True:
salaus = input(f"Anna salasana: ")
if salaus == nouda_salasana():
print("Oikea salasana!")
admin()
break
elif salaus != nouda_salasana() and indeksi > 1:
indeksi -= 1
print(f"Väärä salasana! Yrityksiä jäljellä {indeksi}.")
else:
print("Salasana väärä! (palaa etusivulle)")
break
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
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}
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 main():
nouda_elokuvalista()
nouda_naytokset()
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:
salaus()
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!")
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