为什么我得到/如何删除丑陋的大括号? (Python3.9/Tkinter)

Why do i get / How do i remove the ugly curly brackets? (Python3.9/Tkinter)

大家好!

我对编码一无所知(你可能会从我的代码中看出这一点),而且我借助比我想要的更多的 YouTube 视频以某种方式将这个随机选择器放在一起承认!

现在,我得到了一个非常奇怪的输出,我不知道为什么会这样。有人可以帮忙吗?

在“liste.txt”中只是多行“普通”文本。 (正如我在视频中展示的那样)

我得到的输出:YouTube

我想要这个输出,只是没有大括号(“{}”)和奇怪的 Ä/Ö/Ü 格式。

如果您发现我的代码还有其他严重错误,请告诉我。我要改进。

来自瑞士的感谢和问候!!

import random
from tkinter import *
import pygame


win=Tk()
win.geometry("1200x600")
win.title("RandomPickerSLF - by atefxf")


with open("liste.txt", "r") as f:
   liste = f.readlines()


Label(win, text="Wie viele Themen möchtest du haben?", font=('Calibri 12')).pack(pady=60)
a=Entry(win, width=35)
a.pack()
a.insert(0, "5")


pygame.mixer.init()


def anzeigen():
   t1=int(a.get())
   choice = random.choices(liste, k=(t1))
   label1.config(text=choice, font=('Calibri 13'))
   pygame.mixer.music.load("click1.wav")
   pygame.mixer.music.set_volume(0.3)
   pygame.mixer.music.play(loops=0)


label = Label(win, text="Deine Themen : ", font=('Calibri 15'))
label.pack(pady=10)


label1 = Label(win, text=" ", font=('Calibri 15'))
label1.pack(pady=20)


Button(win, text="Lasse dir deine Themen anzeigen!", command=anzeigen).pack(pady=90)


win.mainloop()

这是因为您将带有 尾随换行符 的字符串列表传递给 Labeltext 选项。

要么去掉换行符:

choice = [x.strip() for x in random.choices(liste, k=t1)]

或将字符串合并为一个字符串:

choice = ''.join(random.choices(liste, k=t1))