Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 02.06.2021
Сообщений: 8

Проблема с работой GUI на питон

09.06.2021, 10:59. Показов 789. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть задачи в обмене-возврате (Пользователь вводит стоимость и количество денег. Программа рассчитывает сдачу и количество мелких монет, необходимых для сдачи)
Её я выполнил, проблемы наступили, когда нужно было начать работу с пользовательским интерфейсом, уже часов 14 сижу, вообще уже не перевариваю, но сдать срочно надо, поэтому прошу помощи.
На данный момент ошибка в NameError: name 'valueRSHOP' is not defined.


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import tkinter as tk
 
window = tk.Tk()
window.title("Обмен-возврат")
window.geometry("1000x900+750+340")
window.resizable(False,False)
photo=tk.PhotoImage(file='vozvrat-obmen.jpg')
window.iconphoto(False,photo)
 
 
label_1 = tk.Label(window, text='Здравствуйте! Будьте добры ввести стоимость вашей покупки в рублях и копейках:').grid(row=0, column=0, stick='w')
mon_rub_purchase=tk.Entry(window).grid(row=0, column=1)
 
mon_cop_purchase=tk.Entry(window).grid(row=0, column=2)
 
 
 
label_2 = tk.Label(window,text='Пожалуйста, введите количество ваших денег в рублях и копейках:').grid(row=1, column=0,stick='w')
mon_rub_whave = tk.Entry(window).grid(row=1, column=1)
mon_cop_whave = tk.Entry(window).grid(row=1, column=2)
 
 
 
def get_entryRSHOP():
    valueRSHOP = float(mon_rub_purchase.get())
    if valueRSHOP:
        print(value)
    else:
        print('Пусто')
 
def get_entryCSHOP():
    valueCSHOP = float(mon_cop_purchase.get())
    if valueCSHOP:
        print(value)
    else:
        print('Пусто')
def get_entryR_OUR():#наши деньги рубли ща переделаю название
    valueR_OUR = float(mon_rub_whave.get())
    if valueC_OUR:
        print(value)
    else:
        print('Пусто')
def get_entryC_OUR():#наши деньги копейки ща переделаю название
    valueC_OUR = float(mon_cop_whave.get())
    if valueC_OUR:
        print(value)
    else:
        print('Пусто')
 
 
def delete_entryRSHOP():
    mon_rub_purchase.delete(0,tk.END)
 
def delete_entryCSHOP():
    mon_cop_purchase.delete(0,tk.END)
def delete_entryR_OUR():
    mon_rub_whave.delete(0,tk.END)
 
def delete_entryC_OUR():
    mon_cop_whave.delete(0,tk.END)
 
 
 
def AM():
    the_cost=(valueRSHOP * 100)+valueCSHOP
    amount_of_money=(valueR_OUR * 100)+valueC_OUR
    n=(amount_of_money-the_cost) #подсчитываем сдачу, переводим в int, тк индексы списка должны быть целыми числами(int) или срезами(slices),->
                                          #-> а не данными типа (float), умножаем на 100,->
                                          #-> тк питон, без установленного модуля numpy не поддерживает работу массивов(списков) с числами с плавающей запятой
    res.configure(text = "= %s" % result)
coins = [1, 5, 10, 50, 100, 200, 500, 1000] #список с номиналами монет РФ на 2021 год
                                        #условие. Начать рассчет, если кол-во денег пользователя больше или равно стоимости товара
def ReturnCoins(n):# создаём функцию для подсчета сдачи. Передали значение n
    if the_cost <= amount_of_money:
        S=[0,1]#создаем список S, в который будет записываться минимальное кол-во монет для сдачи
        for i in range(2, n + 1):
            new_value_list = [] #Вспомогательный список, куда записывается S(n-1),S(n-5) и тд.
            for coin in coins:#С помощью цикла for перебираем номиналы монет
                if i >= coin:#Если сдача больше номинала монеты, то
                    new_value_list += [S[i - coin]]#Записываем в этот список S(сдача-монета определенного номинала)
            S += [1 + min(new_value_list)]#Считаем кол-во монет, 1(одна монета,
                                                  # которая в любом случае будет необходима для сдачи) + с помощью встроенной функции
                                                  #min из списка new_value_list выбираем мин-ое число, обозначающее минимальную сдачу
            return S[n]#return возвращает полученное значение S[n]
        print('Ваша сдача:',n//100,'р.',n%100,'к.')
        print('Минимальное количество монет для сдачи:', ReturnCoins(n))#ответ
    else:
        print('У вас недостаточно средств для совершения покупки')# стоимость товара больше денег пользователя, рассчет невозможен
 
 
 
btn1=tk.Button(window, text='Получить',command=get_entryRSHOP)
btn2=tk.Button(window, text='Получить',command=get_entryCSHOP)
 
btn1.grid(row=0,column=3)
btn2.grid(row=0,column=4)
 
btn3=tk.Button(window, text='Удалить',command=delete_entryRSHOP)
btn4=tk.Button(window, text='Удалить',command=delete_entryCSHOP)
 
btn3.grid(row=0,column=5)
btn4.grid(row=0,column=6)
 
btn5=tk.Button(window, text='Получить',command=get_entryR_OUR)
btn6=tk.Button(window, text='Получить',command=get_entryC_OUR)
 
btn5.grid(row=1, column=3)
btn6.grid(row=1,column=4)
 
btn7=tk.Button(window, text='Удалить',command=delete_entryR_OUR)
btn8=tk.Button(window, text='Удалить',command=delete_entryC_OUR)
 
btn7.grid(row=1,column=5)
btn8.grid(row=1,column=6)
 
btn9 = tk.Button(window, text='Посчитать сдачу',command = AM())
btn10 = tk.Button(window, text='Посчитать наименьшее кол-во монет для сдачи',command = ReturnCoins(n))
 
btn9.grid(row=3,column=0)
btn10.grid(row=3,column=1)
 
label_3=tk.Label(window,text=(n//100).grid(row=3,column=2))
label_4=tk.Label(window,text=(n%100).grid(row=3,column=2))
label_5=tk.Label(window,text=('руб. коп. ваша сдача').grid(row=3,column=3))
label_6=tk.Label(window,text=('Минимальное количество монет для сдачи:').grid(row=4, column=0))
label_7=tk.Label(window,text=(ReturnCoins(n)).grid(row=4,column=1))
window.mainloop()[PYTHON]
[/PYTHON]
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.06.2021, 10:59
Ответы с готовыми решениями:

GUI на питон
День добрый. Изучаю питон. Хочу определится с инструментом для создание интерфеса Насколько понял мои варианты: tk (родная...

Есть ли GUI у Питон-под-Андроид кроме стандартного API
Здраствуйте форумчане! У меня такая просьба , кто знает, на pythonforandroid есть ли GUI кроме стандартного через API android?

Задача: Взять заданную строку в кавычки вида «» . можно ли сразу решение и листинг пж . питон. код питон питон
Взять заданную строку в кавычки вида «» .

1
Костыли любой сложности
201 / 146 / 36
Регистрация: 27.10.2019
Сообщений: 843
09.06.2021, 11:15
DrDi0, ты её запускал хоть раз? там все переменные используются хзкак. пробуй объявить все переменные рассчётом в холостую. так же исправить всю графику в конце
Python
1
2
3
4
5
6
7
8
9
10
11
label_3=tk.Label(window,text=(n//100))
label_3.grid(row=3,column=2)
label_4=tk.Label(window,text=(n%100))
label_4.grid(row=3,column=2)
label_5=tk.Label(window,text=('руб. коп. ваша сдача'))
label_5.grid(row=3,column=3)
label_6=tk.Label(window,text=('Минимальное количество монет для сдачи:'))
label_6.grid(row=4, column=0)
label_7=tk.Label(window,text=ReturnCoins)
label_7.grid(row=4,column=1)
window.mainloop()
тут проще не исправлять а всё с начала написать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.06.2021, 11:15
Помогаю со студенческими работами здесь

Проблема с работой БП
Купил новый БП ибо старый сгорел, купил на 450 Вт подключил его и запуская компьютер выявил проблему: отсутствует звуковой сигнал и монитор...

Проблема с работой wi-fi
Привет всем. Только разрешил одну проблему - подъехала другая. Суть такова: ультрабук acer aspire v5-552g, пропадает подключение вай фай....

проблема с работой компьютера
Здравствуйте, у меня вот такая проблема: значит купил я себе супер крутую игру &quot;Batelfield 3&quot; играл я спокойно 3 месяца на низких...

Проблема с работой функции
Здравствуйте, пишу калькулятор на С++ с грамматикой,начал с написания класса Токен для того чтобы считывать знаки и числа отдельно, у меня...

Проблема с работой конопок
Иногда перестают работать некоторые кнопки на телефоне Sony Ericsson к550. Может ли эжто быть вирус?Если да, то киньте пожалуйста ссылку на...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru