Python Tkinter ISBN转换器需要一种在Tkinter页面上打印结果的方法

Python Tkinter ISBN转换器需要一种在Tkinter页面上打印结果的方法,python,tkinter,isbn,Python,Tkinter,Isbn,您好,我现在的代码是一个工作阶段,我只需要一个结果打印的方式,因为目前它不是。我还希望转换器能够正常工作,10位数字,第11位数字是转换器找到的数字。Thanls注意按钮的命令如何调用函数来执行操作: import sys from tkinter import * def main(): mtext = ment.get() mlabel2 = Label(top, text=mtext).pack() def isbn(): digits = [(11

您好,我现在的代码是一个工作阶段,我只需要一个结果打印的方式,因为目前它不是。我还希望转换器能够正常工作,10位数字,第11位数字是转换器找到的数字。Thanls

注意按钮的命令如何调用函数来执行操作:

    import sys
from tkinter import *
def main():


    mtext = ment.get()
    mlabel2 = Label(top, text=mtext).pack()

def isbn():
    digits = [(11 - i) * num for i, num in enumerate(map(int, list()))]
    digit_11 = 11 - (sum(digits) % 11)
    if digit_11 == 10:
        digit_11 = 'X'    
    digits.append(digit_11)
    isbn_number = "".join(map(str, digits))
    label2 = Label(top, text = "Your ISBN number is",).pack()



top = Tk()
top.geometry("450x450+500+300")
top.title("Test")
button = Button(top,text="OK", command = isbn, fg = "red", bg="blue").pack()
label = Label(top, text = "Please enter the 10 digit number").pack()

ment= IntVar()

mEntry = Entry(top,textvariable=ment).pack()

您还需要在主窗口小部件上调用
.mainloop()
,以启动整个过程。最好在单独一行的对象上调用
.pack()
pack()
grid()
不返回任何内容,因此一旦执行此操作,您将无法在对象上使用其他方法。

非常感谢,这正是我想要的!
from tkinter import *


def find_isbn(isbn, lbl):
    if len(isbn) == 10:
        mult = 11
        total = 0
        for i in range(len(isbn)):
            total += int(isbn[i]) * mult
            mult -= 1
        digit_11 = 11 - (total % 11)
        if digit_11 == 10:
            digit_11 = 'X'
        isbn += str(digit_11)
        lbl.config(text=isbn)

top = Tk()
top.geometry("450x450+500+300")
top.title("Test")

button = Button(top, text="OK", command=lambda: find_isbn(mEntry.get(), mlabel2), fg="red", bg="blue")
button.pack()

label = Label(top, text="Please enter the 10 digit number")
label.pack()

mEntry = Entry(top)
mEntry.pack()

mlabel2 = Label(top, text='')
mlabel2.pack()

top.mainloop()