簡體   English   中英

在使用隨機模塊時刪除 tkinter 列表中不需要的字符

[英]Removing unwanted characters in a list in tkinter, while using the random module

我在 tkinter 中制作了一個字符隨機化器,它接受用戶輸入,然后使用按鈕將其輸入 random.shuffle,然后將其打印在 LabelFrame 上,還將其保存到文本文件中。 我不知道在哪里/如何插入代碼來刪除空格、逗號和括號。 我搜索了其他問題,但無濟於事,我似乎無法針對我的具體問題實施其他答案。

這是一些示例代碼,非常感謝,我不想讓所有代碼淹沒屏幕,這是我在這里的第一篇文章。 但如果需要更多,那么我可以全部復制粘貼。

e = Entry(root, bd=3, bg='white')
e.pack(fill=X, pady=3, padx=3)

def get_answer():
    answer = list((e.get()))
    global widget
    widget = LabelFrame(frame2, text='Please 
    click Randomize', bd=0, width=500, 
    height=300, bg='white', font=150)
    widget.pack(padx=3)
    file_create = open('text.txt', 'w+', 
    encoding='utf-8')
    for i in range(1):
        random.shuffle(answer)
        file_create.write(str(answer))

    file_create.close()
    button.config(state=tk.DISABLED)

def file_opener():
    global m
    widget.destroy()
    f = open('text.txt', 'r', encoding='utf-8')
    m = LabelFrame(frame2, width=500, 
    height=300, bd=0, bg='white', font=150, 
    text=f.read())
    m.pack(expand=TRUE)
    f.close()
    button_3.config(state=tk.DISABLED)

如果您想在顯示之前刪除這些字符,您可以在此處執行str(answer)

你基本上可以做到這一點;

例如刪除逗號和點:

str(answer).replace(",", "").replace(".", "")

或者你有很多字符需要刪除你可以 go 這種方式;

characters_to_remove = "!()@"
pattern = "[" + characters_to_remove + "]"
new_answer = re.sub(pattern, "", str(answer))

那么您可以使用 new_answer 代替 answer。

編輯:感謝@qBen_Plays 的警告,strip 是更有用的選項。

str(answer).strip("[], ")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM