@Swithy6ty

Что делать если при нажатии кнопки выдается ошибка на Python?

Я решил сделать обычную Камень, Ножницы, Бумага но только с интерфейсом.
Дополнительно я добавил кнопку статистики, при нажатии на неё окно открывается, но после результат не изменился и выдает ошибку
Exception in Tkinter callback
Traceback (most recent call last):
File "D:\Users\Кирилл\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1885, in __call__
return self.func(*args)
File "D:\Users\Кирилл\Desktop\Python\2443.py", line 14, in statist
statist.config(statistika, text="Сыграно:" + str(played))
File "D:\Users\Кирилл\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1639, in configure
return self._configure('configure', cnf, kw)
File "D:\Users\Кирилл\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1629, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: unknown option "-class"


Вот сам код:

result = ""
result2 = ""
played = str(0)
wins = 0
loses = 0
ties = 0
print("Выбери одну из кнопок в открышвемся окне\n")
#Функции
def statist():
    statistika = Tk()
    statistika.title("Игровая статистика")
    statist = Label(statistika, text="Сыграно:" + str(played))
    statist.place(relx=.2, rely=.2)
    statist.config(statistika, text="Сыграно:" + str(played))
    statist.pack()
def win():
    result = "Ты победил!"
    text.config(text=result, justify=LEFT, fg="BLUE")
    played =+ 1
def Losing():
    result = "Ты пройграл"
    text.config(text=result, justify=LEFT, fg="RED")
    played =+ 1
def tie():
    result = "Ничья!"
    text.config(text=result, justify=LEFT, fg="GRAY")
    played =+ 1

def kamen():
    player = "камень"
    
    player = player.lower()

    computer = random.choice(choices)

    result2 = "Ты выбрал - " +player+ ", а компьютер выбрал - " +computer+ "."
    text2.config(text=result2, justify=LEFT)
    if player == computer:
        print("Ничья!")
        tie()
    elif player == "камень":
        if computer == "ножницы":
            win()
            print("Ты победил!")
        else:
            print("Ты пройграл")
            Losing()
    elif player == "бумага":
        if computer == "Камень":
            win()
            print("Ты победил!")
        else:
            print("Ты пройграл")
            Losing()
    elif player == "ножницы":
        if computer == "бумага":
            win()
            print("Ты победил!")
            
        else:
            print("Ты пройграл")
            Losing()
    else:
        print("Произошла ошибка, побробуйте еще раз")
    print()
    print("Выбери одну из кнопок в открышвемся окне\n")
def noj():
    player = "ножницы"
    player = player.lower()

    computer = random.choice(choices)

    result2 = "Ты выбрал - " +player+ ", а компьютер выбрал - " +computer+ "."
    text2.config(text=result2, justify=LEFT)
    if player == computer:
        print("Ничья!")
        tie()
    elif player == "камень":
        if computer == "ножницы":
            win()
            print("Ты победил!")
        else:
            print("Ты пройграл")
            result3 = "Ты пройграл!"
            Losing()
    elif player == "бумага":
        if computer == "Камень":
            win()
            print("Ты победил!")
        else:
            print("Ты пройграл")
            result3 = "Ты пройграл!"
            Losing()
    elif player == "ножницы":
        if computer == "бумага":
            win()
            print("Ты победил!")
        else:
            print("Ты пройграл")
            Losing()
    else:
        print("Произошла ошибка, побробуйте еще раз")
    print()
    print("Выбери одну из кнопок в открышвемся окне\n")
def bymaga():
    player = "бумага"
    player = player.lower()

    computer = random.choice(choices)

    result2 = "Ты выбрал - " +player+ ", а компьютер выбрал - " +computer+ "."
    text2.config(text=result2, justify=LEFT)
    if player == computer:
        print("Ничья!")
        tie()
    elif player == "камень":
        if computer == "ножницы":
            win()
            print("Ты победил!")
        else:
            print("Ты пройграл")
            Losing()
    elif player == "бумага":
        if computer == "камень":
            print("Ты победил!")
            win()
        else:
            print("Ты пройграл")
            Losing()
    elif player == "ножницы":
        if computer == "бумага":
            win()
            print("Ты победил!")
        else:
            print("Ты пройграл")
            Losing()
    else:
        print("Произошла ошибка, побробуйте еще раз")
    print()
    print("Выбери одну из кнопок в открышвемся окне\n")
def close():
    exit(game)

choices = ["камень", "ножницы", "бумага"]
import random
from tkinter import *
game = Tk()
game.title("Камень Ножницы Бумага")
btn = Button(game, text="Статистика", command=statist)
btn.pack()
btn = Button(game, text="Камень", command=kamen)
btn.pack()
btn = Button(game, text="Ножницы", command=noj)
btn.pack()
btn = Button(game, text="Бумага", command=bymaga)
btn.pack()
btn = Button(game, text="Закрыть", command=close)
btn.pack()
print("Игра Камень Ножницы Бумага")
text = Label(text=result, justify=LEFT)
text.place(relx=.2, rely=.4)
text.pack()
text2 = Label(text=result2, justify=LEFT)
text2.place(relx=.2, rely=.4)
text2.pack()
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
@o5a
statist.config(statistika, text="Сыграно:" + str(played))


statistika здесь лишнее
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы