tkinter中variable的问题__Python

def Newwindow():
    # 定义单选按钮的响应函数
    def callRB():
        print(t.get())
        for i in range(4):
            if (t.get() == i):
                root1 = Tk()
                Label(root1, text='你的选择是' + language[i][0] + '!', fg='red', width=20, height=6).pack()
                Button(root1, text='确定', width=3, height=1, command=root1.destroy).pack(side='bottom')
    myWindow = Tk()
    myWindow.title('我好垃圾啊!')
    t = IntVar()
    # 列表中存储的是元素是元组
    language = [('python', 0), ('C++', 1), ('C', 2), ('Java', 3)]
    Label(myWindow, text='选择一门你喜欢的编程语言').pack(anchor=W)
    # for循环创建单选框

    for lan, num in language:
        Radiobutton(myWindow, text=lan, value=num, command=callRB, variable=t).pack(anchor=W)
        print(t,t.get())

    # 进入消息循环
    myWindow.mainloop()
 
      在函数中,variable=t,这个设置中不正确,使得t.get()结果均为0,而在下面这段代码中确实设置的正确的,不知道为什么
from tkinter import*
#初始化Tk()
myWindow=Tk()
myWindow.title('Python GUI Learning')
v=IntVar()
#列表中存储的是元素是元组
language=[('python',0),('C++',1),('C',2),('Java',3)]
#定义单选按钮的响应函数
def callRB():
    for i in range(4):
        if (v.get()==i):
            root1 = Tk()
            Label(root1,text='你的选择是'+language[i][0]+'!',fg='red',width=20, height=6).pack()
            Button(root1,text='确定',width=3,height=1,command=root1.destroy).pack(side='bottom')
Label(myWindow,text='选择一门你喜欢的编程语言').pack(anchor=W)
#for循环创建单选框
for lan,num in language:
    Radiobutton(myWindow, text=lan, value=num, command=callRB, variable=v).pack(anchor=W)
    print(v,v.get)
#进入消息循环
myWindow.mainloop()

望大佬指点

你需要在Radiobutton(myWindow, text=lan, value=num, command=callRB, variable=v).pack(anchor=W)这一行前加一条语句,v.set(num),v.get()就会变成0,1,2,3