使用codekulptor进行python编程:使用simplegui的简单计算器

时间:2018-07-14 15:12:09

标签: python calculator python-2.x codeskulptor

这是我的python代码,我正在其中尝试使用CodeSkulptor函数在SimpleGUI中创建一个简单的计算器。 即使我已经定义了input1input2 我最后遇到一个错误:

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()

2 个答案:

答案 0 :(得分:0)

文档字符串缩进是错误的。而且我们需要声明input1input2

以下是更正的代码(进行了一些其他方面的更改以遵守PEP 8): http://www.codeskulptor.org/#user45_G2dN41wx9eUEWCd.py

PEP 8 -- Style Guide for Python Code

答案 1 :(得分:0)

分配 输入1 = 0 输入2 = 0 解决问题。 我可以解决这个问题。还是谢谢你