从数字python3中减去

时间:2018-06-10 10:47:57

标签: python

不久前我确实在空闲时间做了一个简单的calk,但是在想要改进之后,它在函数中叠加了一个只清除一个数字的函数。我确实玩了一下,大多数错误都来自:“TypeError:不支持的操作数类型 - :'str'和'int'”。我不久前开始学习编程,所以有时候有点邋..有人可以帮我理解出了什么问题吗?

这是我到目前为止所做的,代码的一部分:

numOf = ""
numberEt = StringVar()

CalkEntry = Entry(calk, textvariable = numberEN).grid(row = 0, column = 1, columnspan = 8)

def butPress(num):
    global numOf
    numOf = numOf + str(num)
    numberEt.set(numOf)

def varPress():
    global numOf
    total = str(eval(numOf))
    numberEt.set(total)


def Clear():
    global numOf
    numOf = ""
    numberEt.set("")

def BClear():
    global numOf
    numOf = numOf - 1
    numberEt.set(numOf)

1 个答案:

答案 0 :(得分:0)

我不清楚为什么你使用数字作为字符串,但问题出在Bclear()函数中:

def BClear():
    global numOf
    numOf = str(int(numOf) - 1)
    numberEt.set(numOf)

虽然操作数符号+对于字符串类型是可接受的,因为它连接字符串,但不能使用操作数-

小心使用字符串,str(4) + str(5)表示45,而非9