Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 22.09.2018
Сообщений: 39

Переделать программу

10.10.2018, 00:17. Показов 1560. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть код, который высчитывает калории в еде мак-дака (тут рандомные числа накиданы) мне нужно так же сделать подобие калькулятора только кредитора в магазине электроники.
Я не знаю или смогу нормально объяснить, может у вас будут идеи как переделать.
У меня получилось так https://pp.userapi.com/c845220... MGIdcA.jpg , но код в итоге просто перестал работать и я не смогу кинуть его сюда.
Нужно например что бы когда нажимаешь на телевизор (например он там 30к рублей стоит и под 2 процента до 6 месяцев рабочему человеку) кредит может быть выдан, процент там 600 рублей в месяц. Если выбираешь например дольше 12 месяцев и 2 процента то писало "Кредит не может быть выдан", если выбираешь 5 процентов то и писало там процент на телевизор 1500 в месяц. И так далее.




# coding=1251
from tkinter import *
root = Tk()
root.title("McDonald's - калории")

#--------------------------------------------------
# Глобальные переменные

burger = 0 # Тип бургера: 0 - не выбран, 1 - БигМак,
# 2 - Биг Тейсти, 3 - Чизбургер,
# 4 - Чикенбургер, 5 - МакМаффин.

# Калорийность бургеров (по порядку)
k1, k2, k3, k4, k5 = 1200, 1700, 2300, 1400, 2800

# Калорийность картофеля-фри
p1, p2 = 700, 1400

# Калорийность напитков
d1, d2, d3 = 1000, 1100, 800

# Калорийность соусов
s1, s2, s3 = 120, 150, 200

#--------------------------------------------------
# Пользовательские функции

# Функции выбора бургеров
def burger1(event):
global burger
burger = 1

def burger2(event):
global burger
burger = 2

def burger3(event):
global burger
burger = 3

def burger4(event):
global burger
burger = 4

def burger5(event):
global burger
burger = 5


# Вывод текущего набора продуктов
def show(): # функция не принимает аргументов
s=""
if burger == 0:
s = "Бургер не выбран!"
else:
# Создание строки с названием бургера
if burger == 1: s = "БигМак\n"
if burger == 2: s = "Биг Тейсти\n"
if burger == 3: s = "Чизбургер\n"
if burger == 4: s = "Чикенбургер\n"
if burger == 5: s = "МакМаффин\n"

# Создание строки с названием картофеля фри
if var_c1.get()==1:
if var_r1.get()==p1:
s+="Маленький картофель фри\n"
else:
s+="Большой картофель фри\n"
else:
s+="Без картофеля фри\n"

# Создание строки с названием напитка
if var_c2.get() == 1:
if var_r2.get() == d1:
s+="Напиток Кола\n"
if var_r2.get() == d2:
s+="Напиток Фанта\n"
if var_r2.get() == d3:
s+="Напиток Спрайт\n"
else:
s+="Без напитка\n"

# Создание строки с названием напитка
if var_c3.get() == 1:
if var_r3.get() == s1:
s+="Соус Сырный\n"
if var_r3.get() == s2:
s+="Соус Карри\n"
if var_r3.get() == s3:
s+="Соус Барбекю\n"
else:
s+="Без соуса\n"

# Передаем в метку l5 сформированную строку s
stroka.set(s)
# На этом функция show() завершается.


# Рассчет калорий
def calculator(event):
show() # Сначала выводим информацию о выбранных продуктах

if burger == 0: # Если бургер не выбран, калории не считаем
return

kalorii = 0

# Начальное значение калорий зависит от типа бургера
if burger == 1: kalorii = k1
if burger == 2: kalorii = k2
if burger == 3: kalorii = k3
if burger == 4: kalorii = k4
if burger == 5: kalorii = k5

if var_c1.get()==1: # Если картофель фри выбран
kalorii += var_r1.get()

if var_c2.get()==1: # Если напиток выбран
kalorii += var_r2.get()

if var_c3.get()==1: # Если соус выбран
kalorii += var_r3.get()

# Добавляем к надписи количество калорий
s = str(stroka.get())
s = s + "\n" + str(kalorii) + " килокалорий."
stroka.set(s)


# Нажатие кнопки "О программе"
def about(event):
s = "Лабораторная работа №0\n"+\
"Выполнил:\nстудент"
stroka.set(s)
burger=0

#--------------------------------------------------
# Создание виджетов

# Метки
l1 = Label(root, text="Label 1", bg="khaki3", bd=0)
l2 = Label(root, text="Label 2", bg="khaki3", bd=0)
l3 = Label(root, text="Label 3", bg="khaki3", bd=0)
l4 = Label(root, text="Label 4", bg="khaki3", bd=0)

stroka = StringVar()
stroka.set("")
l5 = Label(root, textvariable=stroka, bg="white", bd=0,
font="Courier 18 bold", height=9, width=30)

# Кнопки с названиями бургеров (внутри метки l1)
b1 = Button(l1, text="БигМак", font="Arial 20 bold",
bg="Goldenrod2", activebackground="Goldenrod1")
b2 = Button(l1, text="Биг Тейсти", font="Arial 20 bold",
bg="Goldenrod2", activebackground="Goldenrod1")
b3 = Button(l1, text="Чизбургер", font="Arial 20 bold",
bg="Goldenrod2", activebackground="Goldenrod1")
b4 = Button(l1, text="Чикенбургер", font="Arial 20 bold",
bg="Goldenrod2", activebackground="Goldenrod1")
b5 = Button(l1, text="МакМаффин", font="Arial 20 bold",
bg="Goldenrod2", activebackground="Goldenrod1")

# Привязка кнопок бургеров к событиям
b1.bind("<Button-1>", burger1)
b2.bind("<Button-1>", burger2)
b3.bind("<Button-1>", burger3)
b4.bind("<Button-1>", burger4)
b5.bind("<Button-1>", burger5)

# Чекбокс для картофеля-фри (внутри метки l2)
var_c1 = IntVar()
var_c1.set(0)
c1 = Checkbutton(l2, text="Картофель фри", font="Arial 14",
bg="khaki2", variable=var_c1,
onvalue=1, offvalue=0)

# Радиокнопки для выбора типа картофеля-фри (внутри метки l2)
var_r1 = IntVar()
var_r1.set(p1)
r11 = Radiobutton(l2, text="Маленький", font="Arial 10",
bg="gold", variable=var_r1, value=p1)
r12 = Radiobutton(l2, text="Большой", font="Arial 10",
bg="gold", variable=var_r1, value=p2)


# Чекбокс для напитка (внутри метки l3)
var_c2 = IntVar()
var_c2.set(0)
c2 = Checkbutton(l3, text="Напиток", font="Arial 14",
bg="khaki2", variable=var_c2,
onvalue=1, offvalue=0)

# Радиокнопки для выбора напитка (внутри метки l3)
var_r2 = IntVar()
var_r2.set(d1)
r21 = Radiobutton(l3, text="Кола", font="Arial 10",
variable=var_r2, value=d1,
bg="hotpink4", width=7)

r22 = Radiobutton(l3, text="Фанта", font="Arial 10",
variable=var_r2, value=d2,
bg="DarkOrange1", width=7)

r23 = Radiobutton(l3, text="Спрайт", font="Arial 10",
variable=var_r2, value=d3,
bg="springgreen3", width=7)

# Чекбокс для соуса (внутри метки l4)
var_c3 = IntVar()
var_c3.set(0)
c3 = Checkbutton(l4, text="Соус", font="Arial 14",
bg="khaki2", variable=var_c3,
onvalue=1, offvalue=0)

# Радиокнопки для выбора соуса (внутри метки l4)
var_r3 = IntVar()
var_r3.set(s1)
r31 = Radiobutton(l4, text="Сырный", font="Arial 10",
variable=var_r3, value=s1,
bg="khaki1", width=7)

r32 = Radiobutton(l4, text="Карри", font="Arial 10",
variable=var_r3, value=s2,
bg="gold2", width=7)

r33 = Radiobutton(l4, text="Барбекю", font="Arial 10",
variable=var_r3, value=s3,
bg="tomato3", width=7)

# Кнопка для рассчета калорий
b6 = Button(root, text="Рассчитать калории",
font="Arial 24 bold", bg="red2", activebackground="red1",
fg="white", activeforeground="white")
b6.bind("<Button-1>", calculator)


# Кнопка "О программе"
b7 = Button(root, text="О программе",
font="Arial 8", bg="khaki3", activebackground="khaki2")
b7.bind("<Button-1>", about)

#--------------------------------------------------
# Упаковка виджетов

l1.pack(side=LEFT, expand=1, fill=BOTH)
l2.pack(side=TOP, expand=1, fill=BOTH)
l3.pack(side=TOP, expand=1, fill=BOTH)
l4.pack(side=TOP, expand=1, fill=BOTH)
l5.pack(side=TOP, expand=1, fill=BOTH)

b1.pack(side=TOP, expand=1, fill=BOTH)
b2.pack(side=TOP, expand=1, fill=BOTH)
b3.pack(side=TOP, expand=1, fill=BOTH)
b4.pack(side=TOP, expand=1, fill=BOTH)
b5.pack(side=TOP, expand=1, fill=BOTH)

c1.pack(side=TOP, expand=1, fill=BOTH)
r11.pack(side=LEFT, expand=1, fill=X)
r12.pack(side=LEFT, expand=1, fill=X)

c2.pack(side=TOP, expand=1, fill=BOTH)
r21.pack(side=LEFT, expand=1, fill=X)
r22.pack(side=LEFT, expand=1, fill=X)
r23.pack(side=LEFT, expand=1, fill=X)

c3.pack(side=TOP, expand=1, fill=BOTH)
r31.pack(side=LEFT, expand=1, fill=X)
r32.pack(side=LEFT, expand=1, fill=X)
r33.pack(side=LEFT, expand=1, fill=X)

b6.pack(side=TOP, expand=1, fill=BOTH)
b7.pack(side=LEFT, expand=1, fill=BOTH)

root.mainloop()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.10.2018, 00:17
Ответы с готовыми решениями:

переделать программу на pascal в программу на python
const n=20; m=12; var a,h,x,s:real; i,j:byte; begin repeat write('Введите a&gt;0 a='); readln(a); until (a&gt;0); ...

Помогите переделать программу
Всем привет! есть программа в паскале требуется переделать её на питон! program den; uses crt; var m:array of integer; ...

Переделать программу с паскаля на python
program demo1; var s,sd:array of integer; i,j:integer; begin {ввод массива} for i:=1 to 10 do begin ...

2
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
10.10.2018, 11:46
Цитата Сообщение от Tony Klarck Посмотреть сообщение
Нужно например что бы когда нажимаешь на телевизор (например он там 30к рублей стоит и под 2 процента до 6 месяцев рабочему человеку) кредит может быть выдан, процент там 600 рублей в месяц. Если выбираешь например дольше 12 месяцев и 2 процента то писало "Кредит не может быть выдан", если выбираешь 5 процентов то и писало там процент на телевизор 1500 в месяц. И так далее.

Вот эта строка, какое отношение к бургерам имеет?
0
10.10.2018, 12:32

Не по теме:

IRIP, ему бургеры в электротовары переделать надо

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.10.2018, 12:32
Помогаю со студенческими работами здесь

Переделать программу, чтобы она работала с рекурсивной функцией
n=int(input('введите число в десятичной системе счисления')) m=int(input('введите основание системы счисления')) str1='' while...

Переделать программу
Помогите пожалуйста, скажите пожалуйста, что в условии писать в change, у меня буквы не меняются, а наоборот исчезают При нажатии...

Нужно переделать программу
Нужно переделать программу так, чтобы листья падали сверху вниз и доходя до нижнего края, продолжали падать снова сверху. Нажатие на...

Переделать программу с использованием классов
Есть программа, которая считывает инфу из CSV-файла (Посты: №, ник автора, текст поста, количество лайков), сортирует и фильтрует по разным...

Как переделать консольную программу в оконную?
Доброго времени суток! Ни как не получается сделать этот скрипт оконным, чтоб при нажатии кнопки открывалось диалоговое окно для открытия...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru