Форум сайта python.su
Задача такая: нужно вписать в каждое поле (Entry) значение от 1-4, затем посчитать всю сумму и сравнить результат, в зависимости от набранных очков, вывести соответствующий текст. Есть код (он ниже). Не знаю как реализовать сумму введённых чисел в Entry и завести это все в одну переменную.
Желательно без замудрений) Спасибо заранее!
from tkinter import *
def count(event): #Результат выходит здесь, в новом окне
message = Tk()
text = Label(message, text = “Text here”)
but = Button(message, text=“Close”)
but.bind(“<Button-1>”, lambda event: message.destroy())
text.pack()
but.pack()
def grider(): #Разложение по полочкам
var1.grid(row = 0, column = 0)
ans1.grid(row = 0, column = 1)
var2.grid(row = 1, column = 0)
ans2.grid(row = 1, column = 1)
var3.grid(row = 2, column = 0)
ans3.grid(row = 2, column = 1)
var4.grid(row = 3, column = 0)
ans4.grid(row = 3, column = 1)
var5.grid(row = 0, column = 3)
ans5.grid(row = 0, column = 4)
var6.grid(row = 1, column = 3)
ans6.grid(row = 1, column = 4)
var7.grid(row = 2, column = 3)
ans7.grid(row = 2, column = 4)
var8.grid(row = 3, column = 3)
ans8.grid(row = 3, column = 4)
root = Tk()
var1 = Label(root, text = “Variant 1: ”)
ans1 = Entry(root, width = 5)
var2 = Label(root, text = “Variant 2: ”)
ans2 = Entry(root, width = 5)
var3 = Label(root, text = “Variant 3: ”)
ans3 = Entry(root, width = 5)
var4 = Label(root, text = “Variant 4: ”)
ans4 = Entry(root, width = 5)
var5 = Label(root, text = “Variant 5: ”)
ans5 = Entry(root, width = 5)
var6 = Label(root, text = “Variant 6: ”)
ans6 = Entry(root, width = 5)
var7 = Label(root, text = “Variant 7: ”)
ans7 = Entry(root, width = 5)
var8 = Label(root, text = “Variant 8: ”)
ans8 = Entry(root, width = 5)
grider()
but = Button(root, text=“Результат”)
but.bind(“<Button-1>”, count)
but.grid(row = 4, column = 0)
root.mainloop()
Офлайн
Auditor
А если у вас сотня “полочек” будет, вы сто разных переменных объявите?
Офлайн
Нельзя просто считать числа с каждого Entry и сложить их в одну переменную?
Отредактировано Auditor (Март 5, 2017 17:27:10)
Офлайн
AuditorЗнаете, если хорошо постараться, то можно надеть штаны через голову, натаскать воды в решете и даже укусить локоть. Вопрос “зачем”? Вы хоть раз слышали что-то про массивы, списки, коллекции, итерируемые объекты? Какое-то слово здесь знакомо?
Нельзя просто считать числа с каждого Entry и сложить их в одну переменную?
Офлайн
Я попросил без замудрений, я знаю что такое массивы. Нельзя дать конкретный ответ? Да пусть даже мне придется создать сотни переменных, как их сделать? Я в пайтоне не шарю.
Офлайн
AuditorНу значит, начинайте шарить. Это форум питон-пролграммистов. Я вам намекаю, что создавать десяток одинаковых переменных не нужно. Вы парируете, что знаете про массивы. Ну так возьмите и напишите код правильно, используя коллекцию для хранения одинаковых по смыслу сущностей. Это решит заодно и вашу задачу. Если вы не понимаете меня сейчас, значит вы взялись решать задачу, которая вам не по силам или просто не изучали язык вообще.
Я в пайтоне не шарю.
Офлайн
AuditorМожно, но я не хочу. Я хочу, чтобы вы сами решили задачу.
Нельзя дать конкретный ответ?
Офлайн
Да, я не знаю язык поэтому и учусь. Покажите один раз на примере, я постараюсь понять как делается остальное.
Офлайн
Я синтаксис Пайтона знаю на очень примитивном уровне. В GUI свои заморочки, надо string в integer переводить. В интернете нахожу только решения через библиотеку math, и то не то что мне надо.
Офлайн
AuditorНу так учите. Зачем вы взялись за GUI, для каждого уровня знаний есть свой круг задач. Почти в любом учебнике по питону вы найдете задачи для решения для каждого изученного раздела. Ну давайте вы сейчас начнете высоконагруженный веб-сервис пилить, что хорошего то получится?
Я синтаксис Пайтона знаю на очень примитивном уровне
Отредактировано FishHook (Март 5, 2017 18:25:33)
Офлайн