如何让GUI在标签中打印出C和D而不是{C和D}? Python Tkinter

时间:2018-04-11 02:46:08

标签: python tkinter

当代码选择“C和D”时,在GUI上,标签上的输出看起来像{C和D}。有没有办法摆脱{}并让它只打印出C和D?最好不必在列表中添加更多元素。

from tkinter import *
root= Tk()
root.title('Letters')
def test():
    import random
    letter=['A','B','C and D']
    letterslist=list()
    count = 0
    while count <5:
        y= random.choice(letter)
        letterslist.append(y)
        count=count+1
    return letterslist
x=test()
label1 =Label(root, text = x , fg="White", bg="Orange" )
label1.pack()
root.mainloop()

2 个答案:

答案 0 :(得分:1)

您可以加入列表中的所有元素:

return ' '.join(letterlist)

您的代码现在看起来像这样。

from tkinter import *
root= Tk()
root.title('Letters')
def test():
    import random
    letter=['A','B','C and D']
    letterslist=list()
    count = 0
    while count <5:
        y= random.choice(letter)
        letterslist.append(y)
        count=count+1
    return ' '.join(letterslist)
x=test()
label1 =Label(root, text = x , fg="White", bg="Orange" )
label1.pack()
root.mainloop()

答案 1 :(得分:0)

这样做:

from tkinter import *
root= Tk()
root.title('Letters')
def test():
    import random
    letter=['A','B','C and D']
    letterslist=list()
    count = 0
    S=""
    while count <5:
        y= random.choice(letter)
        letterslist.append(y)
        count=count+1
        S=S+str(y)
        if count !=5:
            S=S+","

    print (S, letterslist)
    return S
x=test()
label1 =Label(root, text = x , fg="White", bg="Orange" )
label1.pack()
root.mainloop()

您可以删除带有letterslist的行。我没有删除它们,所以你可以比较。