У меня проблемы с использованием меток и переменных Tkinter python 3 - PullRequest
0 голосов
/ 25 января 2020

Я внедряю игру Rock Paper Scissors, в которой вы играете против RNG. Все хорошо, но я добавляю Tkinter для развлечения и очень хочу узнать, чего мне здесь не хватает.

Я могу напечатать результаты, которые я хочу получить в командной строке, но не в созданном окне.

Хотите узнать, как напечатать переменную enemy в окне Tkinter.

import tkinter
import random


# Let's create the Tkinter window.
window = tkinter.Tk()
window.title("Paper Scissor Rock")




brains = ["ROCK" ,"PAPER", "SCISSOR"]

def enter_rock():
    click = tkinter.Label(window, text = "You picked ROCK   ")
    enemy = random.choice(brains)
    print("your enemy picked  "+ enemy )
    click.pack()

    if enemy == "ROCK":

        print("DRAW")

    elif enemy == "PAPER":

        print("YOU LOSE")

    else:
        print("YOU WIN")


def enter_paper():
    click = tkinter.Label(window, text = "You picked PAPER  ")
    #paper = 1
    enemy = random.choice(brains)
    print("your enemy picked  "+ enemy )
    click.pack()

    if enemy == "ROCK":

        print("YOU WIN")

    elif enemy == "PAPER":

        print("DRAW")

    else:

        print("YOU LOSE")

def enter_scissor():
    click = tkinter.Label(window, text = "You picked SCISSOR ")
    #scissor = 1
    enemy = random.choice(brains)
    print("your enemy picked  "+ enemy )
    click.pack()

    if enemy == "ROCK":

        print("YOU LOSE")

    elif enemy == "PAPER":

        print("YOU WIN")

    else:
        print("DRAW")




# Once the frames are created then you are all set to add widgets in both the frames.
rock_b = tkinter.Button(window, text = "rock", fg = "red", padx=50, pady= 50, command = enter_rock) #'fg or foreground' is for coloring the contents (buttons)

paper_b = tkinter.Button(window, text = "paper", fg = "green", padx=50, pady= 50,command = enter_paper)

scissor_b = tkinter.Button(window, text = "scissor", fg = "purple", padx=50, pady= 50, command = enter_scissor)


rock_b.pack()

paper_b.pack()

scissor_b.pack()

Ответы [ 2 ]

0 голосов
/ 25 января 2020

До этого я делал много ошибок идентификации, я думаю, что когда я делал другие ошибки, я думаю, что это было большой проблемой, так что это делает то, что я хотел, просто печатает то, что выбрал, и кто выиграл:

def enter_rock():
    enemy = random.choice(brains)
    click = tkinter.Label(window, text = "You picked ROCK your enemy picked  " + enemy)
    click.pack()

    if enemy == "ROCK":
      result = tkinter.Label(window, text = "DRAW")
      result.pack()

    elif enemy == "PAPER":
      result = tkinter.Label(window, text = "YOU LOSE")
      result.pack()

    else:
      result = tkinter.Label(window, text = "YOU WIN")
      result.pack()
0 голосов
/ 25 января 2020

Я думаю, что это больше похоже на то, что вы имели в виду.

import tkinter
import random

brains = ["ROCK" ,"PAPER", "SCISSOR"]

def show_first (text) :
    answer.config (state = "normal")
    answer.delete (1.0, 'end')
    answer.insert ('end', text + '\n')

def show_second (text) :
    answer.insert ('end', text)
    answer.config (state = "disabled")

def enter_rock():
    enemy = random.choice(brains)
    show_first ("your enemy picked  "+ enemy)
    if enemy == "ROCK":
        show_second ("DRAW")
    elif enemy == "PAPER":
        show_second ("YOU LOSE")
    else:
        show_second ("YOU WIN")

def enter_paper():
    enemy = random.choice(brains)
    show_first ("your enemy picked  "+ enemy )
    if enemy == "ROCK":
        show_second ("YOU WIN")
    elif enemy == "PAPER":
        show_second ("DRAW")
    else:
        show_second ("YOU LOSE")

def enter_scissor():
    enemy = random.choice(brains)
    show_first ("your enemy picked  "+ enemy )
    if enemy == "ROCK":
        show_second ("YOU LOSE")
    elif enemy == "PAPER":
        show_second ("YOU WIN")
    else:
        show_second ("DRAW")

# Let's create the Tkinter window.
window = tkinter.Tk()
window.title("Paper Scissor Rock")
rock = tkinter.Button (window, text = "You picked ROCK   ")
rock.config (command = enter_rock)
rock.pack ()
paper = tkinter.Button (window, text = "You picked PAPER  ")
paper.config (command = enter_paper)
paper.pack ()
scissor = tkinter.Button (window, text = "you picked SCISSOR")
scissor.config (command = enter_scissor)
scissor.pack ()
answer = tkinter.Text (window, width = 30, height = 3)
answer.pack ()

window.mainloop ()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...