我想制作一个计算器程序,以便在按下每个按钮时按钮的值将添加到字符串中,例如,如果按下4则应该是1111,所以当我尝试这样做时,它表示在分配之前引用的变量所以我可以捕获任何数字的数字,但我有错误:在分配之前引用变量st
st=""
def but1():
v.set("1")
global st=st+"1"
我们可以解决这个错误,还是有办法让变量全局化?
def but1():
st=st+"1"
v.set(st)
def but2():
st=st+"2"
v.set(st)
def but3():
st=st+"3"
v.set(st)
def but4():
st=st+"4"
v.set(st)
def but5():
st=st+"5"
v.set(st)
def but6():
st=st+"6"
v.set(st)
def but7():
st=st+"7"
v.set(st)
def but8():
st=st+"8"
v.set(st)
def but9():
st=st+"9"
v.set(st)
答案 0 :(得分:0)
global
将 视为应被视为全局的名称:
def but1():
global st
v.set("1")
st=st+"1"
你不能把它放在一个带有完整表达的行上。
global
声明适用于整个当前范围(因此在函数中使用st
名称)。如果您需要在多个功能中访问st
,则需要在所有这些功能中使用相同的关键字。