Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Kinozal:
- def __init__(self, wid, leng, *args):
- self.wid = wid
- some = []
- for gh in range(len(args[0])):
- some.append((args[0][gh][0], args[0][gh][1], args[0][gh][2]))
- args = some
- self.len = leng
- self.seans = []
- self.places = []
- self.dict = dict()
- for j in range(wid):
- self.places.append([0] * leng)
- for g in range(len(args)):
- self.seans.append(
- (self.places, args[g][0], args[g][1], args[g][2], self.dict))
- self.seans = sorted(self.seans, key=lambda x: x[1])
- def set_place(self, w, l, num):
- self.seans[num - 1][0][w][l] = 1
- def set_film(self, time, film, cost):
- self.seans.append((self.places, time, film, cost))
- self.seans = sorted(self.seans, key=lambda x: x[1])
- def get_films(self):
- a = []
- for t in self.seans:
- a.append(t[2])
- return a
- class Kinoteatr:
- def __init__(self, address, *args):
- # *args - информация о кинозале
- self.address = address
- self.kinozaly = list(args)
- def add_kinozal(self, kinozal):
- self.kinozaly.append(kinozal)
- def __str__(self):
- return self.address
- def get_kinozals_seanses(self):
- seanses = []
- for f in range(len(self.kinozaly)):
- seanses.extend(self.kinozaly[f].get_films())
- class Cinema_network:
- def __init__(self, *args):
- # args - очередной кинотеатр
- self.kinoteatry = [i for i in args]
- def add_kinoteatr(self, kinoteatr):
- self.kinoteatry.append(kinoteatr)
- def __str__(self):
- return self.kinoteatry
- if __name__ == '__main__':
- a = 1
- if a == 1:
- print('Вы находитесь в настройках сети кинотеатров')
- print('Введите данные: ')
- print('Сколько у вас кинотеатров в сети')
- CountOfCinemas = int(input())
- print('Теперь на отдельной строке', sep=' ')
- print('для каждого кинотеатра введите информацию')
- print('Вводите информацию так: адрес,кол-во кинозалов')
- print('Затем на каждой строчке вводите информацию о кинозале так:')
- print('ширина зала,длина зала,кол-во фильмов на этот день')
- print('и информацию о фильмах в таком порядке: время,название,цена')
- Cinema_net = Cinema_network()
- for co in range(CountOfCinemas):
- infor = input().split(',')
- addres = infor[0]
- kolvoKinozalov = int(infor[1])
- Kinoteatr1 = Kinoteatr(addres)
- for kin in range(kolvoKinozalov):
- infkin = input().split(',')
- wid = int(infkin[0])
- leng = int(infkin[1])
- films_today = int(infkin[2])
- films_in_kinozal = []
- for fil in range(films_today):
- inffil = input().split(',')
- time = inffil[0]
- name = inffil[1]
- cost = int(inffil[2])
- films_in_kinozal.append((time, name, cost))
- Kinoteatr1.add_kinozal(Kinozal(wid, leng, films_in_kinozal))
- Cinema_net.add_kinoteatr(Kinoteatr1)
- print(
- 'Теперь вводит покупатель, если хотите прекратить работу напишите стоп')
- cou = ''
- while cou != 'стоп':
- print('Введите свои имя и фамилию')
- s1 = input().split()
- name = s1[0]
- surname = s1[1]
- print('Выберите кинотеатр:')
- print(*Cinema_net.kinoteatry, sep='\n')
- chosen_place = input()
- for i in range(len(Cinema_net.kinoteatry)):
- if Cinema_net.kinoteatry[i].address == chosen_place:
- print('Сегодня вы можете посетить следующие сеансы:')
- for cou in range(len(Cinema_net.kinoteatry[i].kinozaly)):
- print(f'в кинозале номер {cou + 1}')
- cin = Cinema_net.kinoteatry[i].kinozaly[cou].get_films()
- print(*cin, sep='\n')
- print('укажите в каком кинозале'
- ' вы хотите смотреть и какой фильм')
- s = input().split()
- chosen_kinozall = int(s[0])
- chosen_film = ' '.join(s[1:])
- ci = Cinema_net.kinoteatry[i].kinozaly[chosen_kinozall - 1]
- for fi in range(len(ci.seans)):
- df = Cinema_net.kinoteatry[i].kinozaly[chosen_kinozall - 1]
- if df.seans[fi][2] == chosen_film:
- chosen_seance = fi
- print('выберите место в кинозале:')
- print(*Cinema_net.kinoteatry[i].kinozaly[
- chosen_kinozall - 1].seans[chosen_seance][0], sep='\n')
- s = input().split()
- coorx = int(s[0]) - 1
- coory = int(s[1]) - 1
- Cinema_net.kinoteatry[i].kinozaly[
- chosen_kinozall - 1].seans[
- chosen_seance][-1][(coorx, coory)] = name + ' ' + surname
- Cinema_net.kinoteatry[i].kinozaly[
- chosen_kinozall - 1].seans[
- chosen_seance][0][coorx][coory] = 1
- print(*Cinema_net.kinoteatry[i].kinozaly[
- chosen_kinozall - 1].seans[chosen_seance][0], sep='\n')
- print('ваша сумма к оплате: ', end='')
- d = Cinema_net.kinoteatry[i].kinozaly[chosen_kinozall - 1]
- print(d.seans[chosen_seance][3])
- print(f'билет на фильм {chosen_film}'
- f' в кинозале {chosen_kinozall}'
- f' в кинотеатре города {chosen_place} '
- f'успешно забронирован на'
- f' {name} {surname}')
- print('Что дальше?')
- print('Если хотите крекратить работу введите \'стоп\'')
- print('Если хотите продолжить '
- 'продавать билеты то введите \'ок\'')
- con = input()
- if con == 'стоп':
- exit(0)
- break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement