python - 号码是添加而不是删除,我不知道为什么?
问题描述
我仍然在 Tkinter 中搞乱,但试图在当前和花费列表中取得平衡。理论上,这应该在每次触发时将花费的值减少 10。但它反而会增加 10
我已经尝试在定义 Spent2 的位置移动,但我只是得到一个未定义的错误。我想可能是因为它变成了负数?因此,当我从 Balance 值中获取花费的 2 值时,它会添加它。如果是这样,我将如何解决这个问题
会员等级
class Member:
year = 0
spent2 = 0
def __init__(self, name, rank, spent):
self.name = name
self.rank = rank
self.spent = spent
def sal(self):
rank10 = str(int(self.rank) * 100)
print(self.name +" is earning "+ rank10)
def bal_year(self):
bal10 = str(int(self.rank) * 100 * int(self.year) - int(self.spent))
print(self.name +" has £"+ bal10)
Sp10 称为
def bread():
br=Tk()
def sp(old:Tk):
old.destroy()
Tiger()
sp10()
br.title('Bread')
l4 = Label(br, text="What would you like to buy Tiger bread, a Bageutte or a Loaf Bread?").pack()
br1 = Button(br, text = "Buy Tiger Bread", command = lambda: sp(br))
br1.pack()
改变花费值
def sp10():
Member.spent2 = (Member.spent2 - int(10))
对我的班级成员的测试
def balance():
doppy = Member("DoppyRex", "6", Member.spent2)
doppy.bal_year()
我预计它将整体余额减少 10,但它会增加 10。
解决方案
我认为问题在于您正在降低花费的金额:
def sp10():
Member.spent2 = (Member.spent2 - int(10))
10,这意味着余额
bal10 = str(int(self.rank) * 100 * int(self.year) - int(self.spent))
增加了 10,因为你减去了 self.spent。
推荐阅读
- javascript - 遍历内联定义的数组
- amazon-web-services - AWS API 中的 POST 在测试 POST 时出现 400 错误
- c++ - 基类中删除的构造函数会影响子类吗?
- flowtype - 无法扩展导入的类
- git - 如何将 Jenkins 上的 SSH 用户私有传递给可用于 git pull 的 .sh 文件
- tensorflow - 使用 ssd_inception_v2_coco 训练了一个模型,接下来我该怎么做?
- node.js - 电报机器人:按钮文本不可读
- jmeter - Jmeter - 使用参数但不使用正文发送请求很好
- arrays - Yii2 ArrayHelper::map() 格式日期
- excel - 将单元格复制并粘贴到过滤器框vba中