Перестановки с GUI в python - PullRequest
0 голосов
/ 05 мая 2020

Всем привет!

Я работал с простыми перестановками для чисел, которые я набираю. Но мне хотелось чего-то получше, поэтому я начал делать на нем приложение 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

I want to make it cleaner...

To define Cleaner, I want something like this:
Это то что я хочу


просто я хочу сгенерировать все возможные числа из чисел, которые я ввел, и отобразить их, как на изображении выше ^^^

Ответы [ 2 ]

1 голос
/ 06 мая 2020

Это должно сработать

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()
0 голосов
/ 06 мая 2020

Я не уверен, что вы этого хотите. Но должно помочь вам.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...