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
|