initial commit
This commit is contained in:
commit
aa7ea9e512
46
chekout_menu.py
Normal file
46
chekout_menu.py
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
goods = {
|
||||||
|
"пицца": 250,
|
||||||
|
"роллы": 300,
|
||||||
|
"чипсы": 100,
|
||||||
|
"чай": 50,
|
||||||
|
}
|
||||||
|
|
||||||
|
menu = [*zip(range(1, len(goods) + 1), *zip(*goods.items()))]
|
||||||
|
selection = {i: name for i, name, *_ in menu}
|
||||||
|
cart = {}
|
||||||
|
|
||||||
|
|
||||||
|
def show_menu():
|
||||||
|
print("Меню:")
|
||||||
|
for i, name, price in menu:
|
||||||
|
print(f"{i} - {name} {price} руб.")
|
||||||
|
print(f"{menu[-1][0] + 1} - выход\n")
|
||||||
|
|
||||||
|
|
||||||
|
def show_cart():
|
||||||
|
print("Ваша корзина:")
|
||||||
|
total = 0
|
||||||
|
for name, count in cart.items():
|
||||||
|
pos_sum = goods[name] * count
|
||||||
|
print(f"{name} - {count} шт. - {pos_sum} руб.")
|
||||||
|
total += pos_sum
|
||||||
|
print(" - - - - - - ")
|
||||||
|
print(f"Итого: {total} руб.\n")
|
||||||
|
|
||||||
|
|
||||||
|
def ask_user():
|
||||||
|
show_menu()
|
||||||
|
i = int(input("Ваш выбор: "))
|
||||||
|
while not 0 < i <= len(menu) + 1:
|
||||||
|
show_menu()
|
||||||
|
i = int(input("Ваш выбор: "))
|
||||||
|
if i <= len(menu):
|
||||||
|
return selection[i]
|
||||||
|
|
||||||
|
|
||||||
|
print("Добро пожаловать в сервис заказа еды")
|
||||||
|
for name in iter(ask_user, None):
|
||||||
|
cart.setdefault(name, 0)
|
||||||
|
cart[name] += 1
|
||||||
|
print()
|
||||||
|
show_cart()
|
100
delivery_with_email_send.py
Normal file
100
delivery_with_email_send.py
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
import smtplib
|
||||||
|
|
||||||
|
|
||||||
|
def send_email(from_addr, to_addr, subject, text, encode="utf-8"):
|
||||||
|
passwd = "**********"
|
||||||
|
server = "smtp.yandex.ru"
|
||||||
|
port = 587
|
||||||
|
charset = f"Content-Type: text/plain; charset={encode}"
|
||||||
|
mime = "MIME-Version: 1.0"
|
||||||
|
body = "\r\n".join(
|
||||||
|
(
|
||||||
|
f"From: {from_addr}",
|
||||||
|
f"To: {to_addr}",
|
||||||
|
f"Subject: {subject}",
|
||||||
|
mime,
|
||||||
|
charset,
|
||||||
|
"",
|
||||||
|
text,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
try:
|
||||||
|
smtp = smtplib.SMTP(server, port)
|
||||||
|
smtp.starttls()
|
||||||
|
smtp.ehlo()
|
||||||
|
smtp.login(from_addr, passwd)
|
||||||
|
smtp.sendmail(from_addr, to_addr, body.encode(encode))
|
||||||
|
except smtplib.SMTPException as err:
|
||||||
|
print("Что - то пошло не так...")
|
||||||
|
raise err
|
||||||
|
finally:
|
||||||
|
smtp.quit()
|
||||||
|
|
||||||
|
|
||||||
|
goods = {
|
||||||
|
"пицца": 250,
|
||||||
|
"роллы": 300,
|
||||||
|
"чипсы": 100,
|
||||||
|
"чай": 50,
|
||||||
|
}
|
||||||
|
|
||||||
|
menu = [*zip(range(1, len(goods) + 1), *zip(*goods.items()))]
|
||||||
|
selection = {i: name for i, name, *_ in menu}
|
||||||
|
cart = {}
|
||||||
|
|
||||||
|
|
||||||
|
def show_menu():
|
||||||
|
print("Меню:")
|
||||||
|
for i, name, price in menu:
|
||||||
|
print(f"{i} - {name} {price} руб.")
|
||||||
|
print(f"{menu[-1][0] + 1} - выход\n")
|
||||||
|
|
||||||
|
|
||||||
|
def show_cart():
|
||||||
|
print("Ваша корзина:")
|
||||||
|
total = 0
|
||||||
|
for name, count in cart.items():
|
||||||
|
pos_sum = goods[name] * count
|
||||||
|
print(f"{name} - {count} шт. - {pos_sum} руб.")
|
||||||
|
total += pos_sum
|
||||||
|
print(" - - - - - - ")
|
||||||
|
print(f"Итого: {total} руб.\n")
|
||||||
|
|
||||||
|
|
||||||
|
def ask_user():
|
||||||
|
show_menu()
|
||||||
|
i = int(input("Ваш выбор: "))
|
||||||
|
while not 0 < i <= len(menu) + 1:
|
||||||
|
show_menu()
|
||||||
|
i = int(input("Ваш выбор: "))
|
||||||
|
if i <= len(menu):
|
||||||
|
return selection[i]
|
||||||
|
|
||||||
|
|
||||||
|
def get_order_text():
|
||||||
|
s = f"Адрес клиента: {input('Введите Ваш адрес: ')}\n"
|
||||||
|
s += "Заказ клиента:\n"
|
||||||
|
total = 0
|
||||||
|
for name, count in cart.items():
|
||||||
|
pos_sum = goods[name] * count
|
||||||
|
s += f"{name} - {count} шт. - {pos_sum} руб.\n"
|
||||||
|
total += pos_sum
|
||||||
|
s += " - - - - - - \n"
|
||||||
|
s += f"Итого: {total} руб."
|
||||||
|
return s
|
||||||
|
|
||||||
|
|
||||||
|
print("Добро пожаловать в сервис заказа еды")
|
||||||
|
for name in iter(ask_user, None):
|
||||||
|
cart.setdefault(name, 0)
|
||||||
|
cart[name] += 1
|
||||||
|
print()
|
||||||
|
show_cart()
|
||||||
|
|
||||||
|
if len(cart) > 0:
|
||||||
|
from_addr = "my_app@yandex.ru"
|
||||||
|
to_addr = "super_courier@gmail.com"
|
||||||
|
subject = "Заказ от клиента"
|
||||||
|
text = get_order_text()
|
||||||
|
send_email(from_addr, to_addr, subject, text)
|
73
quiz copy.py
Normal file
73
quiz copy.py
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
import random
|
||||||
|
|
||||||
|
passed, score, count = 0, 0, 5
|
||||||
|
|
||||||
|
questions = (
|
||||||
|
("В каком году закончилась Великая Отечественная война?", "1945", 5),
|
||||||
|
("Как называется треугольник у которого все стороны равны?", "равносторонний", 8),
|
||||||
|
(
|
||||||
|
"Как называется процесс синтеза углеводов из неорганических веществ за счёт энергии солнца?",
|
||||||
|
"фотосинтез",
|
||||||
|
15,
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"""В известной русской пословице упомянуто некое средство передвижения, а современный аналог этой пословицы звучит так: "Что из НЕЕ удалено, то пропало". Назовите ЕЕ.""",
|
||||||
|
"корзина",
|
||||||
|
2,
|
||||||
|
),
|
||||||
|
("Огурец относится к группе бобовых или тыквенных растений?", "тыквенных ", 10),
|
||||||
|
("Хлопчатник — трава или куст?", "куст", 7),
|
||||||
|
("Продолжить поговорку: «Куда иголка, туда и …»", "нитка", 10),
|
||||||
|
("Гидроскопичность — это способность поглощать влагу или пыль?", "влагу", 8),
|
||||||
|
("Как звали мать Гамлета из трагедии Уильяма Шекспира?", "гертруда", 2),
|
||||||
|
(
|
||||||
|
"Какой слой атмосферы находится ближе к Земле: стратосфера или тропосфера?",
|
||||||
|
"тропосфера",
|
||||||
|
6,
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Какое слово было заимствовано английским языком из русского в 1957 году?",
|
||||||
|
"спутник",
|
||||||
|
7,
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Какое слово, услышанное от отца‑политика, мальчик в рассказе В. В. Набокова «Лебеда» понял так: «сборища, на которых, вероятно, все во фраках»?",
|
||||||
|
"фракция",
|
||||||
|
3,
|
||||||
|
),
|
||||||
|
("Она расскажет вам о любви ценой собственной жизни. Кто она?", "Ромашка", 7),
|
||||||
|
(
|
||||||
|
"Стоит село, всё заселено, по утрам петухи поют, а люди не встают.",
|
||||||
|
"кладбище",
|
||||||
|
5,
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Воимчики поют, сухо дерево везут; заехал в ухаб, не выехать никак.",
|
||||||
|
"похороны",
|
||||||
|
4,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
sample = random.sample(questions, count)
|
||||||
|
total_score = sum((*zip(*sample),)[2])
|
||||||
|
need = int(total_score * 2 / 3)
|
||||||
|
|
||||||
|
print("Добро пожаловать на викторину")
|
||||||
|
print(f"Викторина состоит из {count} вопросов, нужно набрать не менее {need} баллов")
|
||||||
|
|
||||||
|
for question, q_answer, q_score in sample:
|
||||||
|
print("- - - - - - - - - - - -\n")
|
||||||
|
print(f"Вопрос: \n{question}\n")
|
||||||
|
otv = input("Ваш ответ: ")
|
||||||
|
if otv.strip().lower() == q_answer.lower():
|
||||||
|
print(f"Верно, вы набрали {q_score} баллов")
|
||||||
|
passed += 1
|
||||||
|
score += q_score
|
||||||
|
else:
|
||||||
|
print("Не верно")
|
||||||
|
|
||||||
|
print("- - - - - - - - - - - -\n")
|
||||||
|
print(
|
||||||
|
f"Вы верно ответили на {passed} вопросов и набрали {score} из {total_score} баллов."
|
||||||
|
)
|
||||||
|
print(score >= need and "Вы восхитительны!" or "В следующий раз повезет!")
|
36
quiz.py
Normal file
36
quiz.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
import random
|
||||||
|
|
||||||
|
passed, score, count = 0, 0, random.randint(3, 4)
|
||||||
|
|
||||||
|
questions = (
|
||||||
|
("В каком году закончилась Великая Отечественная война?", "1945", 5),
|
||||||
|
("Как называется треугольник у которого все стороны равны?", "равносторонний", 8),
|
||||||
|
("Огурец относится к группе бобовых или тыквенных растений?", "тыквенных ", 10),
|
||||||
|
("Хлопчатник — трава или куст?", "куст", 7),
|
||||||
|
("Продолжить поговорку: «Куда иголка, туда и …»", "нитка", 10),
|
||||||
|
("Гидроскопичность — это способность поглощать влагу или пыль?", "влагу", 8),
|
||||||
|
("Как звали мать Гамлета из трагедии Уильяма Шекспира?", "гертруда", 2),
|
||||||
|
("Она расскажет вам о любви ценой собственной жизни. Кто она?", "ромашка", 7),
|
||||||
|
)
|
||||||
|
|
||||||
|
sample = random.sample(questions, count)
|
||||||
|
total_score = sum((*zip(*sample),)[2])
|
||||||
|
need = int(total_score * 2 / 3)
|
||||||
|
|
||||||
|
print("Добро пожаловать на викторину")
|
||||||
|
print(f"Викторина состоит из {count} вопросов, нужно набрать не менее {need} баллов")
|
||||||
|
|
||||||
|
for question, q_answer, q_score in sample:
|
||||||
|
print("- - - - - - - - - - - -\n")
|
||||||
|
print(f"Вопрос: \n{question}\n")
|
||||||
|
otv = input("Ваш ответ: ")
|
||||||
|
if otv.strip().lower() == q_answer.lower():
|
||||||
|
print(f"Верно, вы набрали {q_score} баллов")
|
||||||
|
passed += 1
|
||||||
|
score += q_score
|
||||||
|
else:
|
||||||
|
print("Не верно")
|
||||||
|
|
||||||
|
print("- - - - - - - - - - - -\n")
|
||||||
|
print(f"Вы ответили на {passed} вопросов и набрали {score} из {total_score} баллов.")
|
||||||
|
print(score >= need and "Вы восхитительны!" or "В следующий раз повезет!")
|
9
simplecalc.py
Normal file
9
simplecalc.py
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
print("Добро пожаловать!")
|
||||||
|
print("Это программа калькулятор")
|
||||||
|
a = int(input("Введите 1-е число: "))
|
||||||
|
b = int(input("Введите 2-е число: "))
|
||||||
|
print("Сумма равна:", a + b, sep="\n")
|
||||||
|
print("Разность равна:", a - b, sep="\n")
|
||||||
|
print("Произведение равно:", a * b, sep="\n")
|
||||||
|
print("Масса в граммах:", int(input("Введите массу в кг: ")) * 1000)
|
||||||
|
print("Скорость в м/с:", round(int(input("Введите скорость в км/час: ")) / 3.6, 2))
|
Loading…
Reference in New Issue
Block a user