这是我的python代码,我正在其中尝试使用CodeSkulptor函数在SimpleGUI中创建一个简单的计算器。
即使我已经定义了input1
和input2
我最后遇到一个错误:
Line 22: NameError: name 'input2' is not defined
请帮助我。 谢谢
import simplegui
#initialize globals
def input_handler1(text_input1):
global input1
input1=float(text_input1)
output()
def input_handler2(text_input2):
global input2
input2=float(text_input2)
output()
def button_handler():
print inp1.get_text
def button_handler():
print inp2.get_text
def output():
"""prints contents of input1 and input2"""
print("input1=",input1)
print("input2=",input2)
print (" ")
def swap():
"""swap the contents of input1 and input2"""
global input1,input2
input1,input2=input2,input1
output()
def add():
global input1,input2
input1+=input2
output()
def sub():
global input1,input2
input1-=input2
output()
def mul():
global input1,input2
input1*=input2
output()
def div():
global input1,input2
input1/=input2
output()
frame=simplegui.create_frame("simple_calculator",500,500)
inp1 = frame.add_input('input1', input_handler1, 50)
inp2 = frame.add_input('input2', input_handler2, 50)
frame.add_button("Print",output,100)
frame.add_button("swap",swap,100)
frame.add_button("add",add,100)
frame.add_button("subtract",sub,100)
frame.add_button("multiply",mul,100)
frame.add_button("divide",div,100)
frame.start()
答案 0 :(得分:0)
文档字符串缩进是错误的。而且我们需要声明input1
和input2
。
以下是更正的代码(进行了一些其他方面的更改以遵守PEP 8): http://www.codeskulptor.org/#user45_G2dN41wx9eUEWCd.py
答案 1 :(得分:0)
分配 输入1 = 0 输入2 = 0 解决问题。 我可以解决这个问题。还是谢谢你