Найти - Пользователи
Полная версия: Tkinter - Присвоить числовые значения в текстовых вариантах в Combobox
Начало » Python для новичков » Tkinter - Присвоить числовые значения в текстовых вариантах в Combobox
1
AlewD
Делаем с ребенком программу для определения веса того или иного объекта на той или иной планете (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()
xam1816
[code python]между этими тегами вставляйте код[/code]
AlewD
xam1816
Чего? Какой код? Где он?
xam1816
AlewD
Чего? Какой код? Где он?
AlewD
И ПОЧЕМУ-ТО СОДЕРЖИМОЕ VALUES В КВАДРАТНЫХ СКОБКАХ НЕ ОТОБРАЖАЕТСЯ, ПОЭТОМУ Я ИХ СЛОВАМИ ЗАПИСАЛ
 my_list = ['a', 'b', 'c']

чтобы скобки отображались код нужно обрамлять тегами, выше писал
AlewD
xam1816
Понял 👍
xam1816
AlewD
как привязать числовые значения (для расчетов по заранее вбитой формуле) к текстовым вариантам

сделать словарь типа animals = {'кошка': 5, ‘собака’: 10}

и потом
  
m = int(animals[massobject.get()]) #massobject это масса объекта
AlewD
xam1816
Спасибо большое. А если вариантов будут сотни - так же делать?
xam1816
AlewD
А если вариантов будут сотни - так же делать?
значит это будет храниться в базе данных.
AlewD
Спасибо. Тему можно закрыть.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB