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

Delete varaaminen-1.py

parent 997cdfd0
No related branches found
No related tags found
No related merge requests found
import copy
import json
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]]
elokuvalista = {'Nälkäpeli': ('2h 37min', 16), 'Dune': ('3h 30min', 12)}
naytosajat = {'Nälkäpeli': [["12.12 12:00", "3 sali", copy.deepcopy(kolmas_sali)],
["13.12 14:30", "2 sali", copy.deepcopy(toka_sali)]],
'Dune': []}
def tulosta_naytokset(elokuva):
for i in range(len(naytosajat[elokuva])):
print(naytosajat[elokuva][i][0], naytosajat[elokuva][i][1])
def tulosta_sali(lista):
for rivi in lista:
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):
onVarannut = False
salikartta = naytosajat[elokuva][naytos][2]
while not onVarannut:
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 varaa_elokuva():
elokuvaValittu = False
while not elokuvaValittu:
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
#jos on, tulostaa elokuvaa vastaavat näytökset
else:
print("Elokuva ei ole ohjelmistossa.") #jos elokuva ei ole näytösajoissa, kertoo että elokuva ei ole nähtävissä
tulosta_naytokset(elokuva)
naytos = int(input("Valitse haluamasi näytös: "))# 0 eka näytös, 1 toinen näytös, 2 kolmas näytös
#TODO tee silmukka, jossa käyt elokuvan näytösajat
sali = naytosajat[elokuva][naytos][2]
if sali == eka_sali:
tulosta_sali(eka_sali)
nimi = input("Anna nimi, jolle varaus tehdään: ")
paikka = tee_varaus(elokuva,naytos)
elif sali == toka_sali:
tulosta_sali(toka_sali)
nimi = input("Anna nimi, jolle varaus tehdään: ")
paikka = tee_varaus(elokuva,naytos)
elif sali == kolmas_sali:
tulosta_sali(kolmas_sali)
nimi = input("Anna nimi, jolle varaus tehdään: ")
paikka = tee_varaus(elokuva,naytos)
varaus = {"Elokuva" : elokuva, "Näytös" : naytos, "Nimi": nimi, "Paikka" : paikka}
with open("varaukset.txt", mode="a", encoding="utf-16") as f:
f.write(json.dumps(varaus))
print(varaus)
print("Kiitos varauksesta!")
main_varaus()
def muokkaa_varausta():
muokkaa = input("Anna näytös, jonka varausta haluat muokata: ")
print(muokkaa) #pitäs printata näytöksen salikartan
v_paikka = input("Anna edellisen paikan numero:")
# X muuttuu takaisin oikeaksi numeroksi, jolloin varaus peruuntunut, en osaa tehdä
print("Varaus peruutettu!")
print("1 en halua tehdä uutta varausta (palaa aloitusvalikkoon)")
print("2 haluan tehdä uuden varauksen")
arvo = int(input("Anna toiminto: "))
if arvo == 1:
main_varaus()
elif arvo == 2:
varaa_elokuva()
def main_varaus():
#TODO lue varaukset tiedostosta
print("1 varaa elokuva")
print("2 muokkaa varausta")
print("3 palaa etusivulle")
arvo = int(input("Anna toiminto: "))
if arvo == 1:
varaa_elokuva()
elif arvo == 2:
muokkaa_varausta()
elif arvo == 3:
print("Kiitos ja hei! (palaa etusivulle)")
# main() #pitäskö alotus laittaa omana funktiona niin pääsis varauksesta ja administ helpost etusivulle vai oonko ihan tyhäm?
main_varaus()
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