如何将 return 语句转换为可打印语句?
How can I convert a return statement into a printable statement?
我正在使用 GUI 制作 GFC(最大公因数)计算器,但我当前的代码仅适用于 return
语句,并且 tkinter 不接受 return
来填充文本框。
这是我的代码示例
def gproces():
Gnumber1 = Entry.get(GE1)
Gnumber2 = Entry.get(GE2)
Gnumber1 = int(Gnumber1)
Gnumber2 = int(Gnumber2)
if Gnumber1 > Gnumber2:
Gnumber1, Gnumber2 = Gnumber2, Gnumber1
for x in range (Gnumber1, 0, -1):
if Gnumber1 % x == 0 and Gnumber2 % x == 0:
return x
这里是它应该使用的地方:(填充 GE3)
GE3=Entry(top, bd =5)
GE3.grid(row=3, column=4)
GB=Button(top, text ="Submit", command = gproces).grid(row=4,column=4,)
如何将 return 语句转换为 Tkinter 可以使用的内容?
好的,如果我理解正确,您希望结果显示在文本框中。
此代码应该有效:
T.delete('1.0', tk.END) # deletes all previous data
T.insert('1.0', str(x)) # inserts new data
其中 T
是您的文本框。
如果您想在循环中填充文本框,您可以简单地 运行 T.insert('1.0', str(x))
而不是在函数末尾使用 return
,或者您可以同时使用 return
和 T.insert
,但不要忘记使用 T.delete
.
清除函数开头的文本框
直接将结果插入gprocess()
:
内的文本框即可
def gproces():
# better cater invalid input
try:
Gnumber1 = int(GE1.get())
Gnumber2 = int(GE2.get())
x = min(Gnumber1, Gnumber2)
for x in range(x, 0, -1):
if Gnumber1%x == 0 and Gnumber2%x == 0:
break
# insert result into text box
GE3.delete(0, 'end')
GE3.insert('end', x)
except ValueError:
print('Invalid number input')
注意有math.gcd()
可以找到GCF。
我正在使用 GUI 制作 GFC(最大公因数)计算器,但我当前的代码仅适用于 return
语句,并且 tkinter 不接受 return
来填充文本框。
这是我的代码示例
def gproces():
Gnumber1 = Entry.get(GE1)
Gnumber2 = Entry.get(GE2)
Gnumber1 = int(Gnumber1)
Gnumber2 = int(Gnumber2)
if Gnumber1 > Gnumber2:
Gnumber1, Gnumber2 = Gnumber2, Gnumber1
for x in range (Gnumber1, 0, -1):
if Gnumber1 % x == 0 and Gnumber2 % x == 0:
return x
这里是它应该使用的地方:(填充 GE3)
GE3=Entry(top, bd =5)
GE3.grid(row=3, column=4)
GB=Button(top, text ="Submit", command = gproces).grid(row=4,column=4,)
如何将 return 语句转换为 Tkinter 可以使用的内容?
好的,如果我理解正确,您希望结果显示在文本框中。
此代码应该有效:
T.delete('1.0', tk.END) # deletes all previous data
T.insert('1.0', str(x)) # inserts new data
其中 T
是您的文本框。
如果您想在循环中填充文本框,您可以简单地 运行 T.insert('1.0', str(x))
而不是在函数末尾使用 return
,或者您可以同时使用 return
和 T.insert
,但不要忘记使用 T.delete
.
直接将结果插入gprocess()
:
def gproces():
# better cater invalid input
try:
Gnumber1 = int(GE1.get())
Gnumber2 = int(GE2.get())
x = min(Gnumber1, Gnumber2)
for x in range(x, 0, -1):
if Gnumber1%x == 0 and Gnumber2%x == 0:
break
# insert result into text box
GE3.delete(0, 'end')
GE3.insert('end', x)
except ValueError:
print('Invalid number input')
注意有math.gcd()
可以找到GCF。