Спасибо
import random class Train: def __init__(self): return self.trains() def trains(self): self.trains = [] train = dict.fromkeys(["number", "stations", "day", "price"], None) numbers = [1, 2, 3] days = [["Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"], ["Вторник", "Суббота", "Понедельник"], ["Среда", "Четверг", "Пятница", "Воскресенье"] ] trips = [["Одесса", "Кишинев", "Харьков", "Киев", "Москва"], ["Днепропетровск", "Кривой рог", "Киев", "Харьков", "Одесса"], ["Харьков", "Киев", "Симферополь", "Москва"] ] prices = [[0, 50, 150, 200, 1000], [0, 50, 100, 150, 200], [0, 150, 200, 800] ] for x in range(len(numbers)): train = train.copy() train["number"] = numbers[x] train["stations"] = trips[x] train["price"] = prices[x] train["day"] = days[x] self.trains.append(train) class Passenger: def order(self, day, dest, from_st): zapros = dict.fromkeys(["day", "dest"], None) zapros["day"] = day zapros["dest"] = dest zapros["from_st"] = from_st return zapros def train(self, match): return random.choice(match) class Kassa: def zapros(self, zapros, train): match = [] for train in train.trains: if zapros["dest"] in train["stations"] and zapros["day"] in train["day"]: match.append(train) return match def price(self, zapros, vibor): new_price = dict.fromkeys(["amount"], 0) new_price["amount"] = vibor["price"][vibor["stations"].index(zapros["dest"])] \ - vibor["price"][vibor["stations"].index(zapros["from_st"])] return new_price kassir = Kassa() passenger = Passenger() train = Train() while True: user = input('1 Сделать запрос. 2 Выйти из системы: ') if user == "1": day = input("Введите день (Понедельник-Воскресенье): ") dest = input("Пункт назначения: ") from_st = input("Пункт отправки: ") zapros = {'day': day, 'dest': dest, 'from_st': from_st, } zapros = passenger.order(day, dest, from_st) if not zapros: print("Свободных билетов на поезда нет") else: match = kassir.zapros(zapros, train) vibor = passenger.train(match) new_price = kassir.price(zapros, vibor) print("\t\t\t Ваш поезд и маршрут :\n" + str(vibor)) print("\t\t\t Цена билета {}".format(new_price["amount"])) break elif user == "2": print("Good Bye!!!") break
Сейчас вывод выглядит как-то так:
1 Сделать запрос. 2 Выйти из системы: 1
Введите день (Понедельник-Воскресенье): Понедельник
Пункт назначения: Москва
Пункт отправки: Харьков
Ваш поезд и маршрут :
{'number': 1, ‘stations’: , ‘day’: , ‘price’: }
Цена билета 850