python中GUI的置换

2024-04-25 10:04:09 发布

您现在位置:Python中文网/ 问答频道 /正文

大家好

我一直在为我输入的数字进行简单的排列。但是我想要更好的东西,所以我开始在上面做一个GUI应用程序,但是我被卡住了。

此计划的目标:

  • 从输入的数字中获取排列
  • 在标签中显示它们
  • 把它读清楚

我做的前两件事有点简单,但最后一件事我被卡住了。。。
感谢您的帮助

我的当前代码:

from itertools import permutations
import tkinter as tk

root = tk.Tk()
root.title("tester")

Label1 = tk.Label(root)
Label1.pack()


entry2 = tk.Entry(root)
entry2.pack()


my_list2 = []


def Calculate2(event=None):
    my_list2.clear()
    numbers2 = entry2.get()
    numbers = " ".join(numbers2)
    num = f"{numbers}".split()
    perm = permutations(num)

    for i in list(perm): 
        my_list2.append(str(i))
    print(*my_list2)
    Label1.config(text=", ".join(my_list2))

button_calculate2 = tk.Button(text="Calculate Permutations", command=Calculate2)
button_calculate2.pack()

root.bind('<Return>', Calculate2)

root.mainloop()

它是这样打印的:
this is the result, I want make it cleaner

我想让它更干净

要定义Cleaner,我需要如下内容:
This is what I want


我只想根据我输入的数字生成所有可能的数字,并将其显示为上图^^^


Tags: importmy数字rootnumpacktkjoin
2条回答

这应该可以

from itertools import permutations
import tkinter as tk

root = tk.Tk()
root.title("tester")

Label1 = tk.Label(root)
Label1.pack()


entry2 = tk.Entry(root)
entry2.pack()


my_list2 = []


def Calculate2(event=None):
    my_list2.clear()
    numbers2 = entry2.get()
    numbers = " ".join(numbers2)
    num = f"{numbers}".split()
    perm = permutations(num)
    for i in list(perm):
        result = ', '.join(map(str,i))
        my_list2.append(result)
    Label1.config(text=" | ".join(my_list2)+f" | amount: {len(my_list2)}")

button_calculate2 = tk.Button(text="Calculate Permutations", command=Calculate2)
button_calculate2.pack()

root.bind('<Return>', Calculate2)

root.mainloop()

我不确定这是否是你想要的。但是我应该帮助你

import tkinter as tk

root = tk.Tk()
root.title("tester")

Label1 = tk.Label(root)
Label1.pack()
entry2 = tk.Entry(root)
entry2.pack()
my_list2 = []

def Calculate2():
    num1=[]
    num2=""
    my_list2.clear()
    numbers2 = entry2.get()
    for n in numbers2:
        num1.append(n)
    for i in reversed(range(len(num1))):
        num2+=num1[i]

    print(*my_list2)
    Label1.config(text=numbers2+","+num2)

button_calculate2 = tk.Button(text="Calculate Permutations", 
command=Calculate2)
button_calculate2.pack()
def calc(event):
    Calculate2()

root.bind('<Return>', calc)
root.mainloop()

祝你好运。。。 enter image description here

相关问题 更多 >

    热门问题