0 / 0 / 0
Регистрация: 11.07.2016
Сообщений: 6

В чем дело. Python GUI tkinter

17.10.2016, 16:21. Показов 1247. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу мелкую игру для школы, программа задает вопрос, пользователь вводит ответ, она выводит правильно или нет и переходит к следующему вопросу вроде все сделал, но что то не работает. Заранее спасибо.

Вот код:

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
from random import choice
from sys import exit as close
from time import strftime
import tkinter
from tkinter.filedialog import askopenfilename
 
def start():
    #root.withdraw()
    root.update()
    with open(askopenfilename(),'r') as file:
        #root.destroy() ###
        countries = dict([value.split(',') for value in file.read().replace(';',',').split()])
        del countries["Страна]
        return countries, list(countries.keys())
 
 
class Game():
    def __init__(self, values):
        self.n_countries, self.n_list = values
        self.country, self.question, self.res = ("","","") #
 
    def protocol(self, value):
        with open("protokoll.txt","a") as protocol:
            protocol.write(strftime("Дата: %d.%m.%Y  Время: %H:%M:%S\n\n") + "Вопрос: {}\n\nОтветt: {}\n\n\n".format(self.question, value)) ###
 
    def form_question(self):
        self.country = choice(self.n_list)
        self.question = "Столица " + self.country
        return self.question
 
    def check_answer(self, answer):
        answer = answer.capitalize()
        if answer == "Close":
            close()
        self.protocol(answer) ###
        if answer == self.n_countries[self.country]:
            self.res = "Правильно!"
            self.n_list.remove(self.country)
        else:
            self.res = "Неправильно!"
 
 
class Window(tkinter.Frame):
    def __init__(self, master = None):
        super().__init__(master)
        self.pack()
        self.create_widgets()
    def create_widgets(self):
        self.question = tkinter.Label(self)
        self.question["text"] = game.form_question()
        self.question.pack(side = "top", ipadx = 5, ipady = 10)
 
        self.inputEntry = tkinter.Entry(self)
        self.inputEntry.pack(ipadx = 50, ipady = 5)
 
        self.input = tkinter.StringVar()
        self.inputEntry["textvariable"] = self.input
 
        self.result = tkinter.Label(self)
        self.result["text"] = game.res
        self.result.pack(after = self.inputEntry, ipadx = 5, ipady = 10)
 
        self.ok = tkinter.Button(self)
        self.ok["text"] = "Ок"
        self.ok["command"] = game.check_answer(self.input.get())
        self.ok.pack(side = "right", ipady = 5, expand = True, fill = "both")
 
        self.close = tkinter.Button(self)
        self.close["text"] =  "Выйти"
        self.close["command"] = self.quit ###
        self.close.pack(side = "left", ipady = 5, expand = True, fill = "both")
 
root = tkinter.Tk()
root.title("Игра")
game = Game(start())
window = Window(root)
window.mainloop()
И файл


Страна Столица
Frankreich Paris
Russland Moskau
Deutschland Berlin
Tschechien Prag
Kroatien Zagreb
Daenemark Kopenhagen
Spanien Madrid
Italien Rom
Norwegen Oslo
Portugal Lissabon
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.10.2016, 16:21
Ответы с готовыми решениями:

Python, tkinter, переменные в GUI
Здраствуйте, помогите пожалуйста. Задание: Напишите скрипт, как в примере с флажками; в отличии от примера значения ассоциированных...

Python, модуль tkinter GUI
Здравствуйте, помогите пожалуйста не получается выполнить задание Задание: Напишите приложение с меню, содержащим два пункта: Color и...

Виджеты tkinter и tkinter.ttk (используется Python 3.5.2)
1) Проблема с виджетом Scale (ползунок) модуля tkinter. Я создал ползунок от 1 до 50 (как на первой картинке). По умолчанию стоит на 1....

3
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
17.10.2016, 16:26
1
Цитата Сообщение от Maksim70 Посмотреть сообщение
Russland Moskau
Если не знаешь английский пиши по русски лучше.
2 код надо обрамлять тегами, без форматирования эту портянку смотреть не будут
1
0 / 0 / 0
Регистрация: 11.07.2016
Сообщений: 6
17.10.2016, 19:42  [ТС]
Эти страны и столицы на немецком, а с английским у меня все нормально......
0
56 / 56 / 31
Регистрация: 24.10.2016
Сообщений: 186
27.10.2016, 20:19
Все отступы съехали, как это вообще читать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.10.2016, 20:19
Помогаю со студенческими работами здесь

GUI tkinter textbox
Доброго времени суток всем. начал изучать tkinter, у меня windows, python 2.7 застопорился на трёх проблемах, если кто в силах, то...

GUI-приложение Tkinter с БД SQL
Прошу помощи в организации поиска и фильтрации. import sqlite3 # импорт модуля SQLite import tkinter as tk # импорт...

Phyton gui с использованием Tkinter
Можете помочь задачей. Необходимо найти приблизительное значение e и pi с помощью формул e=1+1/1!+1/2!+1/3!+... ...

GUI, Tkinter, canvas and frame
Привет, я только начинаю это изучать, так что вопрос наверное глупый. В чём разница между canvas и frame?:sigh:

GUI tkinter зависание интерфейса
Здравствуйте Мне нужно сделать простой интерфейс для программы. При нажатии на кнопку Start запуск программы, при нажатии на кнопку...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru