Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用codeskulptor的python编程:使用simplegui的简单计算器_Python_Calculator_Python 2.x_Codeskulptor - Fatal编程技术网

使用codeskulptor的python编程:使用simplegui的简单计算器

使用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

这是我的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)
    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