Python 除一个标签外,大多数标签更新良好

Python 除一个标签外,大多数标签更新良好,python,tkinter,Python,Tkinter,我很抱歉粘贴了我所有的代码。我不知道该如何发布这个问题。这一周我确实在寻找其他答案,但我一辈子都想不出这个答案。我知道我还需要做更多的事情才能让这个计划发挥作用,但我只是想让球队在比赛中的标签得到更新。我已经尝试在_play.set()和_play=team_b.get()打印变量和team_。print team_at_play.get()显示轮到谁的队,但标签不会更新 另外,我是否将coin_toss()等函数放在了主循环的正确位置 以下是指向可从菜单项“Abrir Capitalulo”加

我很抱歉粘贴了我所有的代码。我不知道该如何发布这个问题。这一周我确实在寻找其他答案,但我一辈子都想不出这个答案。我知道我还需要做更多的事情才能让这个计划发挥作用,但我只是想让球队在比赛中的标签得到更新。我已经尝试在_play.set()和_play=team_b.get()打印变量和team_。print team_at_play.get()显示轮到谁的队,但标签不会更新

另外,我是否将coin_toss()等函数放在了主循环的正确位置

以下是指向可从菜单项“Abrir Capitalulo”加载的文本文件的链接:

任何帮助都将不胜感激

    #!/usr/local/bin/env python
# -*- coding: utf-8 -*-
## Recall Game

"""This will be a timed game of vocabulary recall that will focus on
all the previous units studied. If possible, the sessions will have
a time limit, so teams might compete against one another.
Teams will win points according to how many answers are given correctly.
Questions will be randomly selected."""
import sys
import time
import csv
import StringIO
import random
import string
from Tkinter import *
import ttk
import tkFont

def score_calc (answer):
##Returns a point value for the expression in play
    score = 0
    ##print ('Answer'), answer
    for i in len(answer): ##Thanks to user2357112
        score += 1
    return score 


master = Tk()
master.title("Araña en la Cabaña")
master.geometry=("800x800+200+200")
master.configure(background="black")

from random import choice
d={}
team_A= StringVar()
team_B= StringVar()
team_A_score= IntVar()
team_B_score= IntVar()
team_at_play = StringVar()
pregunta = StringVar()
answer = StringVar()
turn = 0

correct_answer = StringVar()

feedback=StringVar()
correct = ['!Sí!', '¡Muy bien!', '¡Excelente!', '¡Fabuloso!']
incorrect =['¡Caramba!', '¡Ay, ay, ay!', '¡Uy!']


def select_expression():
## Returns at random an expression
    ##print ('select_expression beginning')
#     print len(d)
    selected_question = ''
    global pregunta
    print ('select_expression at work')
    try:
        selected_question =random.choice(d.keys()) ##Problem selecting random key
        pregunta.set(selected_question)
        print 'Pregunta =', pregunta.get()
        answer.set(d[selected_question])
        print 'Answer =', answer.get()
        ##return pregunta  Thanks to user2357112
        ##return answer    Thanks to user2357112
    except IndexError:
        print ('Error')
        pass
    ##print pregunta

def coin_toss ():
## Tosses a coin to see who goes first. Returns even or odd integer
    print ('Coin toss at work.')
    from random import randint
    coin_toss = randint(0,1)
    if coin_toss == 0:
        turn = 3
    if coin_toss == 1:
        turn = 4
    return turn      

def player_turn():
## Prompts players or teams during turns. Updates scoreboard.
    print ('Player_turn() at work.')
    global team_at_play
    global turn    
    while turn < 1:
        turn = coin_toss()
        team_A_score.set(0)
        team_B_score.set(0)
        print 'turn =', turn

    if turn %2== 0:
        print 'turn=',turn
        print ('Team_B:'), team_B.get()
        team_at_play= team_B.get()
        print 'Team_at_play:', team_at_play
        select_expression()

    if turn %2!= 0:
        print 'Turn=', turn
        print ('Team_A:'), team_A.get()
        team_at_play= team_A.get()
        print 'Team_at_play:', team_at_play
        select_expression()

def nombrar_equipos():
    nombrar_equipos = Toplevel()
    ##Dialog box for entering the team names.


    nombrar_equipos.title("Nombrar los Equipos")
    first_team_label = Label(nombrar_equipos,text="El primer equipo:")
    first_team_label.grid(column=0, row=1)

    second_team_label = Label(nombrar_equipos,text="El segundo equipo:")
    second_team_label.grid(column=0, row=0)
    team_A_entry = Entry(nombrar_equipos,width =20, textvariable=team_A)
    team_A_entry.grid(column=1, row=0)
    team_A_entry.focus_set()
    team_B_entry = Entry(nombrar_equipos, width =20, textvariable=team_B)
    team_B_entry.grid(column=1, row=1)
    entregar_button=Button(nombrar_equipos, text ="Entregar", command=nombrar_equipos.destroy)
    entregar_button.grid(column=1,row=2)


def abrir_capitulo():
    ##Dialog box for selecting the chapter to be loaded.
    #this will hide the main window
    import tkFileDialog
    WORDLIST_FILENAME = tkFileDialog.askopenfilename(parent=master,title="Archivo para abrir", defaultextension=".txt")
    global d
    d = {}
    with open(WORDLIST_FILENAME) as fin:
            rows = (line.split('\t') for line in fin)
            d = {row[0]:row [1] for row in rows}
    for k in d:
         d[k]= d[k].strip('\n')
    ## print ('Line 68')
    inv_d = {v:k for k, v in d.items()}
     ##print inv_d
    d.update(inv_d)
    print d
    print ('¡'), len(d), ('expresiones cargadas!')
    return d

def check_response(*args):
        ##checks a team's answer, rewards points if correct.
        if team_at_play.get() == team_A.get():
            if team_answer==answer:
                team_A_score.set(team_A_score.get() + score_calc (d[pregunta]))
                turn += 1

            if team_answer != answer:
                turn += 1

        if team_at_play.get() == team_B.get():
            if team_answer==answer:
                team_B_score.set(team_B_score.get() + score_calc (d[pregunta]))
                turn += 1

            if team_answer != answer:
                turn += 1


class App:
    def __init__(self, master):
        frame = Frame(master)

        master.puntuacion= Label(master, text="Araña en la Cabaña", font=("American Typewriter", 30),bg="black", fg="red", justify=CENTER)
        master.puntuacion.grid(row=0, column=2)

        master.team_A_label= Label(master, textvariable= team_A, font=("American Typewriter", 24),bg="black", fg="red")
        master.team_A_label.grid(row=1, column=1)
        master.team_B_label= Label(master, textvariable= team_B, font=("American Typewriter", 24),bg="black", fg="red")
        master.team_B_label.grid(row=1, column=3)

        master.team_A_score_label= Label(master, textvariable= team_A_score, font=("04B", 24),bg="black", fg="yellow").grid(row=2, column=1)
        # team_A_score_label= tkFont.Font(family="Times", size=20, weight=bold, color=red)
        master.team_B_score_label= Label(master, textvariable= team_B_score, font=("04B", 24),bg="black", fg="yellow")
        master.team_B_score_label.grid(row=2, column=3)

        master.team_at_play_label= Label(master, textvariable= team_at_play, font=("American Typewriter", 24),fg="yellow", bg="black")
        master.team_at_play_label.grid(row=4, column=2)

        master.pregunta_start = Label(master, text="¿Cómo se traduce....?", font=("American Typewriter", 24),fg="blue",bg="black")
        master.pregunta_start.grid(row=6, column=2)

        master.pregunta_finish = Label(master, textvariable = pregunta, font=("American Typewriter", 24),fg="green",bg="black")
        master.pregunta_finish.grid(row=7, column=2)

        master.team_answer = Entry(master, width=50)
        master.team_answer.grid(row=8, column=2)
        master.team_answer.focus_set()
        master.feedback_label = Label(textvariable= feedback, font=("American Typewriter", 24),fg="green",bg="black")
        master.feedback_label.grid(row=9, column=2)

        respond_button = Button(master, text="Responder",bg="black", command=check_response, justify=CENTER, borderwidth=.001)
        respond_button.grid(row=10, column=3)
        master.bind("<Return>", check_response)

        continue_button = Button(master, text="Adelante", bg="black", command=player_turn)
        continue_button.grid(row=10, column=4)        

menubar = Menu(master)
filemenu= Menu(menubar,tearoff=0)
filemenu.add_command(label="Nombrar Equipos",command=nombrar_equipos)
filemenu.add_command(label="Abrir Capítulo",command=abrir_capitulo)

filemenu.add_separator()

filemenu.add_command(label="Cerrar", command=master.quit)
menubar.add_cascade(label="Archivo",menu=filemenu)
master.config(menu=menubar)




master.columnconfigure(0, weight=1)
master.rowconfigure(0, weight=1)
app= App(master)
master.mainloop()
#/usr/local/bin/env python
#-*-编码:utf-8-*-
##召回游戏
“这将是一个词汇记忆的定时游戏,重点是
之前学习的所有单元。如果可能,课程将有
这是一个时间限制,因此团队可能会相互竞争。
团队将根据正确给出的答案数量赢得分数。
将随机选择问题。”“”
导入系统
导入时间
导入csv
导入StringIO
随机输入
导入字符串
从Tkinter进口*
导入ttk
导入tkFont
def分数计算(回答):
##返回正在运行的表达式的点值
分数=0
##打印(‘答案’),回答
因为我在len(回答):##感谢用户2357112
分数+=1
回击得分
master=Tk()
硕士头衔(“Araña en la Cabaña”)
主几何=(“800x800+200+200”)
master.configure(后台=“黑色”)
从随机进口选择
d={}
团队A=StringVar()
团队B=StringVar()
团队A_分数=IntVar()
团队B_分数=IntVar()
团队在比赛中=StringVar()
pregunta=StringVar()
答案=StringVar()
转动=0
正确答案=StringVar()
反馈=StringVar()
正确=['!Sí!'、'Muy bien!'、'Excelente!'、'Fabuloso!']
不正确=['Caramba!','Ay,Ay,Ay!','Uy!']
def select_表达式():
##随机返回一个表达式
##打印('select_expression start')
#打印透镜(d)
所选问题=“”
全球pregunta
打印('select_expression at work')
尝试:
选择的问题=随机。选择(d.keys())35;#选择随机键的问题
pregunta.set(选定的问题)
打印'Pregunta=',Pregunta.get()
答案.集合(d[所选问题])
打印“Answer=”,Answer.get()
##感谢用户2357112返回pregunta
##返回答案,感谢用户2357112
除索引器外:
打印('错误')
通过
##印前山
def coin_-toss():
##掷硬币看谁先走。返回偶数或奇数整数
打印('工作时掷硬币')
从随机导入randint
抛硬币=随机数(0,1)
如果掷硬币=0:
圈数=3
如果掷硬币=1:
圈数=4
回程
def player_turn():
##在回合中提示球员或球队。更新记分板。
打印('Player_turn()'at work')
全球球队比赛
全球转向
转弯<1时:
回合=掷硬币()
球队得分。设定(0)
球队得分。设定(0)
打印“turn=”,turn
如果回合%2==0:
打印“turn=”,turn
打印('Team_B:')、Team_B.get()
team_at_play=team_B.get()
打印“比赛时的团队:”,比赛时的团队
选择_表达式()
如果转弯%2!=0:
打印“Turn=”,Turn
打印('Team_A:')、Team_A.get()
team_at_play=team_A.get()
打印“比赛时的团队:”,比赛时的团队
选择_表达式()
def nombrar_equipos():
nombrar_equipos=顶级()
##用于输入团队名称的对话框。
设备名称(“设备名称”)
第一组标签=标签(nombrar\u equipos,text=“El primer equipo:”)
第一个团队标签.grid(列=0,行=1)
第二个团队标签=标签(nombrar\u equipos,text=“El segundo equipo:)
第二个团队标签.grid(列=0,行=0)
团队项目=项目(nombrar\u equipos,宽度=20,文本变量=团队项目)
team_A_entry.grid(列=1,行=0)
team_A_entry.focus_set()
团队项目=项目(nombrar\u equips,宽度=20,文本变量=团队项目)
team_B_entry.grid(列=1,行=1)
entregar\u按钮=按钮(nombrar\u设备,text=“entregar”,command=nombrar\u设备。销毁)
entregar_按钮网格(列=1,行=2)
def abrir_capitalulo():
##用于选择要加载的章节的对话框。
#这将隐藏主窗口
导入tkFileDialog
WORDLIST_FILENAME=tkFileDialog.askopenfilename(父项=master,title=“Archivo para abrir”,defaultextension=“.txt”)
全球d
d={}
以open(WORDLIST_文件名)作为fin:
行=(fin中的行的line.split('\t'))
d={row[0]:row[1]表示行中的行}
对于d中的k:
d[k]=d[k]。带('\n')
##打印(“第68行”)
inv_d={v:k代表k,v代表d.items()}
##打印库存
d、 更新(库存)
打印d
印刷体(“,”,len(d),(“expresiones cargadas!”)
返回d
def检查_响应(*参数):
##检查团队的答案,如果正确则奖励分数。
如果team_at_play.get()=team_A.get():
如果团队回答==回答:
team_A_score.set(team_A_score.get()+score_calc(d[pregunta]))
转弯+=1
如果你回答答复:
转弯+=1
如果团队在玩。get()==团队在玩。get():
如果团队回答==回答:
team_B_score.set(team_B_score.get()+score_calc(d[pregunta]))
转弯+=1
如果你回答答复:
转弯+=1
类应用程序:
定义初始(自我,主):
帧=帧(主帧)
master.puntuacion=标签(master,text=“Araña en la Cabaña”,font=(“美国打字机”,30),bg=“黑色”,fg=“红色”,justify=中间)
master.puntuacion.grid(行=0,列=2)
master.team_A_label=label(master,textvariable=team_A,font=)美国打字机
def player_turn():
## Prompts players or teams during turns. Updates scoreboard.
    print ('Player_turn() at work.')
#     global team_at_play
    global turn    
    while turn < 1:
        turn = coin_toss()
        team_A_score.set(0)
        team_B_score.set(0)
        print 'turn =', turn

    if turn %2== 0:
        print 'turn=',turn
        print ('Team_B:'), team_B.get()
        playing_team= team_B.get()
        team_at_play.set(playing_team)
        print 'Team_at_play:', team_at_play
        select_expression()

    if turn %2!= 0:
        print 'Turn=', turn
        print ('Team_A:'), team_A.get()
        playing_team=team_B.get()
        team_at_play.set(playing_team)
        print 'Team_at_play:', team_at_play
        select_expression()