(已编辑) 我试图通过保存以前的钱数额到一个文件,使你可以访问多少钱,你以前有一个小猪罐。但是,它给了我一个错误(见标题)。请不要标记为重复,因为我已经检查了其他人,他们不苹果我的问题。这是我的密码:
def piggybank():
newamount = 0.0
file = open('piggybank.txt','r+')
addedmoney = input('How much money are you adding?')
file.write(addedmoney + '\n')
for line in file:
newamount += line
print("You now have:\n", newamount)
基本上我是说新的数量是0。然后我以读写模式打开文件,询问用户要添加多少。然后我将它添加到文件的新行中,并将文件中的所有内容相加。最后,我打印总数。但是,这不起作用,因为我不断得到错误。请帮帮我!你知道吗
(我对Python和Stack Overflow有点不在行,因为我13岁,刚刚开始学习。)
这是我的新代码:
def piggybank():
file = open('piggybank.txt','r+')
money = input('How much money are you adding?')
file.write(money + '\n')
for line in file:
money += line
print("You now have:\n", money)
file.close()
如果你看一下我原来的代码,我给money添加了一个新行,我在这里也这么做了。但是,它添加了money字符串,就好像它们是字符串一样,因此如果您输入5.00两次,就会得到“5.005.00”。如果你想打印数字而不是字符串,有人知道如何添加新行吗?你知道吗
因为你的行是string,newamount是number。所以你才会出错。在进行数学计算之前,必须先将字符串转换为数字。你知道吗
总之,操作数不匹配。首先,必须将字符串转换为浮点数,如下所示:
另一方面,如果只需要存储总数,为什么要将
addedmoney
写入文件?您可以先尝试计算newamount,然后继续写入结果。你知道吗相关问题 更多 >
编程相关推荐