我是 Python 的初学者,正在尝试制作一个小程序来记录一笔钱的变化。我可以从文件 (Amount.txt) 中获取数据,但不能从中添加或减去。该程序将 Amount.txt 中的数字识别为字符串而不是实际数字。我曾尝试使用 int() 命令,但我不知道将该命令放在哪里,或者我是否需要它。当我使用 int() 命令时,会出现一条错误消息,指出“TypeError: unsupported operand type(s) for +: 'int' and 'str'” 我该如何解决?
def add(x, y):
return x + y
def money(xy):
f = open("Amount.txt", "r").read()
newamount = add(f, xy)
f = open("Amount.txt", "w").write(newamount)
f.close
while True:
dollars = open("Amount.txt", "r").read()
print("Current Updated Total: ($" + dollars + ")")
num = input("Transition: ")
money(num)
我试图让程序询问用户一个数字,它会添加到总金额中,然后重写 Amount.txt 以包含新的总和。例如,如果总数为 5 并且用户输入 5,则新总数将为 10。Amount.txt 还将包含数字 10 而不是 5。但是,实际结果如下所示:总数将为 5,而用户将输入 5,新的总数将是 55。我该如何解决这个问题?
假设Amount.txt
包含一个整数,例如,42
,投用字符串为int int()
,如你所提到的:
f = open("Amount.txt", "r").read()
f = int(f)
您还多次打开该文件,在以不同模式重新打开之前关闭它可能不是一个坏主意。完整脚本:
def add(x, y):
return x + y
def money(xy):
fh = open("Amount.txt", "r")
f = int(fh.read())
fh.close()
newamount = add(f, xy)
fh = open("Amount.txt", "w")
fh.write(str(newamount))
fh.close()
while True:
fh = open("Amount.txt", "r")
dollars = int(fh.read())
fh.close()
print("Current Updated Total: (${0})".format(dollars))
num = input("Transition: ")
money(num)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句