Форум сайта python.su
Делаем с ребенком программу для определения веса того или иного объекта на той или иной планете (P=m*g) при помощи Ткинтер.
И во в чем проблема - я не понимаю, как привязать числовые значения (для расчетов по заранее вбитой формуле) к текстовым вариантам, используя Combobox/
Вот код. И ПОЧЕМУ-ТО СОДЕРЖИМОЕ VALUES В КВАДРАТНЫХ СКОБКАХ НЕ ОТОБРАЖАЕТСЯ, ПОЭТОМУ Я ИХ СЛОВАМИ ЗАПИСАЛ
from tkinter import *
from tkinter.ttk import Combobox
from tkinter import messagebox
def calculate_dir():
m = int(massobject.get()) #massobject это масса объекта
g = float(boost.get()) #boost это ускорение свободного падения
p = m*g
p = round(p, 0)
if p>0:
messagebox.showinfo('dop-pythonguides', f'{m} на {g} весит {p} кг')
elif (p==0):
messagebox.showinfo('dop-pythonguides' f'{m} в открытом космосе вообще ничего не весит ‘)
elif (p<0):
messagebox.showinfo(’dop-pythonguides' f'Значение не просчитано - проверьте правильность ввода данных')
window = Tk()
window.title('Кто сколько весит на планетах')
window.geometry('400x200')
frame = Frame(
window,
padx=10,
pady=10
)
frame.pack(expand=True)
massobject_lb = Label(
frame,
text='Выберите объект ‘
)
massobject_lb.grid(row=3, column=1)
boost_lb = Label(
frame,
text=’Выберите планету ‘
)
boost_lb.grid(row=4, column=1)
massobject = Combobox (
frame,
values = квадратная скобка “Человек”, “Кошка”, “Собака”, “Слон”, “Синий кит”, “Экскаватор” квадратная скобка
)
massobject.grid(column=2, row=3)
boost = Combobox (
frame,
values = квадратная скобка “Солнце”, “Меркурий”, “Венера”, “Земля”, “Луна”, “Марс”, “Юпитер”, “Сатурн”, “Уран”, “Нептун”, “Плутон” квадратная скобка
)
boost.grid(row=4, column=2, pady=5)
cal_btn = Button(
frame,
text=’Рассчитать ',
command=calculate_dir
)
cal_btn.grid(row=8, column=2)
window.mainloop()
Отредактировано AlewD (Март 21, 2024 14:40:47)
Офлайн
[code python]между этими тегами вставляйте код[/code]
Офлайн
xam1816Чего? Какой код? Где он?
Прикреплённый файлы:
Screenshot_20240321-200003_Yandex Start.jpg (427,9 KБ)
Офлайн
AlewD
Чего? Какой код? Где он?
AlewD
И ПОЧЕМУ-ТО СОДЕРЖИМОЕ VALUES В КВАДРАТНЫХ СКОБКАХ НЕ ОТОБРАЖАЕТСЯ, ПОЭТОМУ Я ИХ СЛОВАМИ ЗАПИСАЛ
my_list = ['a', 'b', 'c']
Отредактировано xam1816 (Март 21, 2024 19:17:45)
Офлайн
xam1816Понял 👍
Офлайн
AlewD
как привязать числовые значения (для расчетов по заранее вбитой формуле) к текстовым вариантам
m = int(animals[massobject.get()]) #massobject это масса объекта
Офлайн
xam1816Спасибо большое. А если вариантов будут сотни - так же делать?
Офлайн
AlewDзначит это будет храниться в базе данных.
А если вариантов будут сотни - так же делать?
Офлайн
Спасибо. Тему можно закрыть.
Офлайн