StudyRepo_Synergy/part1_basic/lesson3/cinema.py

102 lines
2.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"""
Модуль является результатом выполнения практической
домашней работы по теме
"Логические и условные операторы"
:copyright: Сергей Ванюшкин <pi3c@yandex.ru>
:git: https://git.pi3c.ru/pi3c/StudyRepo_Synergy.git
:license: MIT
2023г.
"""
import os
def cls():
os.system("cls" if os.name == "nt" else "clear")
def get_ticket(**kwargs) -> str:
rates = {
0: "Полная стоимость билета",
1: "Билет со скидкой",
2: "Бесплатный билет",
}
rate = 0
if kwargs.get("age") in range(0, 12):
rate = 2
elif kwargs.get("age") in range(12, 18) and kwargs.get("escort", False):
rate = 1
return rates.get(rate, "Error")
def add_buyer():
cls()
print("#" * 25)
print("#".ljust(23), "#")
print("#", "\033[32m{}\033[0m ".format("Купить билет в кино").center(21), "#")
print("#".ljust(23), "#")
print("#" * 25)
name = input("Ваше имя?: ")
city = input("Ваш город?: ")
try:
age = int(input("Сколько вам полных лет?: "))
if age not in range(0, 150):
raise ValueError
except ValueError:
print("Введен некорректный возраст. ")
age = -1
if age <= 12:
escort = True
elif age < 18:
escort = (
True
if input("Вы с сопровождающим? (Да/Нет): ") in ("д", "Д", "Да", "да")
else False
)
else:
escort = False
cls()
print("#" * 30)
for i in range(11):
if i in (1, 3, 5, 7, 9):
print("#".ljust(28), "#")
if i == 0:
print("#", "Билет".center(26), "#")
if i == 2:
print("#", name.ljust(26), "#")
if i == 4:
print("#", city.ljust(26), "#")
if i == 6:
print("#", ("Возраст: " + str(age)).ljust(26), "#")
if i == 8:
print(
"#",
("С сопровождающим" if escort else "Без сопровождения").ljust(26),
"#",
)
if i == 10:
print(
"#",
get_ticket(name=name, city=city, age=age, escort=escort).center(26),
"#",
)
print("#" * 30)
add_buyer()
while True:
if input("Купить еще билет? (Да/Нет): ") in ("д", "Д", "Да", "да"):
add_buyer()
else:
break