首页 > 解决方案 > 为什么我的 tkinter 标签两侧有其他字母的一部分?

问题描述

我有一个石头剪刀布游戏,在标签上标明你​​是否赢了,还有其他字母的一部分(看下面的截图)。有没有办法在我的代码中解决这个问题,或者它是 tkinter 中的一个错误。

https://i.stack.imgur.com/znuxS.png

这是我的代码:

from tkinter import *
import random
root = Tk()
rps = ['rock', 'paper', 'scissors']

def rock():
    rock.comp_choice = random.choice(rps)
    YUH = Label(root, text=rock.comp_choice)
    YUH.grid(column=2, row=1, padx=10, pady=10)
    r_results()

def paper():
    paper.comp_choice = random.choice(rps)
    YUH = Label(root, text=paper.comp_choice)
    YUH.grid(column=2, row=1, padx=10, pady=10)
    p_results()

def scissors():
    scissors.comp_choice = random.choice(rps)
    YUH = Label(root, text=scissors.comp_choice)
    YUH.grid(column=2, row=1, padx=10, pady=10)
    s_results()

def r_results():
    if paper.comp_choice == 'paper':
        loose = Label(root, text='Loose')
        loose.grid(column=2, row=2, padx=10, pady=10)
    if paper.comp_choice == 'scissors':
        win = Label(root, text='Win')
        win.grid(column=2, row=2, padx=10, pady=10)
    if paper.comp_choice == 'rock':
        tie = Label(root, text='Tie')
        tie.grid(column=2, row=2, padx=10, pady=10)

def p_results():
    if paper.comp_choice == 'paper':
        loose = Label(root, text='Tie')
        loose.grid(column=2, row=2, padx=10, pady=10)
    if paper.comp_choice == 'scissors':
        win = Label(root, text='Loose')
        win.grid(column=2, row=2, padx=10, pady=10)
    if paper.comp_choice == 'rock':
        tie = Label(root, text='Win')
        tie.grid(column=2, row=2, padx=10, pady=10)

def s_results():
    if scissors.comp_choice == 'paper':
        loose = Label(root, text='Win')
        loose.grid(column=2, row=2, padx=10, pady=10)
    if scissors.comp_choice == 'scissors':
        win = Label(root, text='Tie')
        win.grid(column=2, row=2, padx=10, pady=10)
    if scissors.comp_choice == 'rock':
        tie = Label(root, text='Loose')
        tie.grid(column=2, row=2, padx=10, pady=10)

rock = Button(root, text="rock", command=rock)
paper = Button(root, text="paper", command=paper)
scissors = Button(root, text="scissors", command=scissors) 
rock.grid(column=1, row=0, padx=10, pady=10)
paper.grid(column=2, row=0, padx=10, pady=10)
scissors.grid(column=3, row=0, padx=10, pady=10)

mainloop()

标签: pythontkinter

解决方案


推荐阅读