我正在尝试使用模块 simplegui 在 CodeSkulptor 中制作一个带有两个输入字段的计算器。我不知道我做错了什么



我正试图使用simplegui模块在CodeSkulptor中制作一个具有两个输入字段的计算器。我不明白我做错了什么。这是我的链接:http://www.codeskulptor.org/#user47_kHjBVKqs2k_1.py我做了两个变量,但我不知道如何将变量更改为用户输入的任何变量。

import simplegui
# intialize globals
Number1 = 0
Number2 = 0
result = 0

def output():
"""prints contents of store and operand"""
global Number1, Number2, result
print "Number 1 = ", Number1
print "Number 2 = ", Number2
print "Result = ", result
print ""
def add():
""" add operand to store"""
global Number1, Number2, result
result = Number2 + Number1
output()
def sub():
""" subtract operand from store"""
global Number1, Number2, result
result = Number1 - Number2
output()
def mult():
""" multiply store by operand"""
global Number1, Number2, result
result = Number1 * Number2
output()
def div():
""" divide store by operand"""
global Number1, Number2, result
result = Number1 / Number2
output()
def enter1(t):
global Number1
Number1 = int(t)
output()
def enter2(w):
global Number2
Number2 = int(w)
output()
# create frame
f = simplegui.create_frame("Calculator",300,300)
# register event handlers and create control elements
f.add_button("Print", output, 100)
f.add_button("Add", add, 100)
f.add_button("Sub", sub, 100)
f.add_button("Mult", mult, 100)
f.add_button("Div", div, 100)
f.add_input("Number 1", enter1, 100)
f.add_input("Number 2", enter2, 100)

# get frame rolling
f.start()

实际上,您的代码可以工作,但在数字1或数字2输入区中键入数字后,您必须在键盘上按enter键。不幸的是,如果您更改了一个数字,则输出并不总是正确的,因为您上次执行的操作没有被记住!所以你需要为此做更多的编码。。。

最新更新