-1

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

2 回答 2

0

文档字符串的缩进是错误的。我们需要声明input1and input2

这里是更正的代码(为了尊重 PEP 8 而进行了一些其他的外观更改): http: //www.codeskulptor.org/#user45_G2dN41wx9eUEWCd.py

PEP 8——Python 代码风格指南

于 2018-07-15T15:07:58.800 回答
0

分配 Input1=0 Input2=0 解决了这个问题。我可以解决这个问题。不管怎么说,还是要谢谢你

于 2018-07-15T15:33:27.657 回答