我正在尝试用CodeSkulptor的simplegui模块做一个有两个输入域的计算器。我不知道我做错了什么。这是我的链接: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()发布于 2020-09-01 23:49:54
实际上你的代码是可以工作的,但是当你在数字1或数字2的输入区输入一个数字后,你必须按键盘上的enter键。不幸的是,如果你改变了一个数字,输出并不总是正确的,因为你最后一次做的动作没有被记住!所以你需要为此做更多的编码...
https://stackoverflow.com/questions/61680754
复制相似问题