使用codeskulptor的python编程:使用simplegui的简单计算器
这是我的python代码,我试图使用函数创建一个简单的计算器。 即使我已经定义了使用codeskulptor的python编程:使用simplegui的简单计算器,python,calculator,python-2.x,codeskulptor,Python,Calculator,Python 2.x,Codeskulptor,这是我的python代码,我试图使用函数创建一个简单的计算器。 即使我已经定义了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) ou
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()
文档字符串的缩进错误。我们需要声明
input1
和input2
以下是更正后的代码(与PEP 8相关的一些其他外观更改):
分配
输入1=0
输入2=0
解决了这个问题。
我可以解决这个问题。无论如何谢谢我不知道
simplegui
,所以我只是猜测一下,但是在单击其中一个按钮之前,您是否在inp1
和inp2
中输入了一些数字?顺便说一句,最好将其放入一个类中,这样您就不需要使用global