102 lines
2.6 KiB
Python
102 lines
2.6 KiB
Python
"""
|
||
Модуль является результатом выполнения практической
|
||
домашней работы по теме
|
||
"Логические и условные операторы"
|
||
|
||
: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
|