将用户指定的编号添加到文件中已有的编号。 (蟒蛇)

时间:2012-03-02 09:57:08

标签: python python-3.x

我知道这可能是一个愚蠢的问题,但我似乎无法真正做到这一点。

我正在尝试这样做:

f = open("txtfiles/c.txt", "r")
c = f.read()
int(c)
ca = float(input("Enter Cash to Add: "))
int(ca)
cn= c+ca
print (cn)

我试图说它们都是浮点数,因此可以正确添加它们因为我需要用户能够添加小数,但是当我做的时候,我得到它 TypeError:无法将'float'对象隐式转换为str

我在互联网上搜索过,我看到这个错误出现了,但实际上似乎没有任何帮助。

对不起noob问题,但任何建议将不胜感激。

2 个答案:

答案 0 :(得分:4)

执行int(c)时,这将从字符串c生成一个整数,但您不会将其分配给任何内容。在您的情况下,c仍然是一个字符串。将该行更改为:

    c = int(c)

更好的是,既然你想要添加小数,为什么不使用浮点数并跳过整数转换呢?

    f = open("txtfiles/c.txt", "r")
    c = float(f.read())
    ca = float(input("Enter Cash to Add: "))
    cn = c + ca
    print cn

答案 1 :(得分:1)

怎么样

with open("txtfiles/c.txt", "rU") as f:
    cn=float(f.read())+float(raw_input("Enter Cash to Add: "))
    print(cn)

使用with会在阻止退出时自动关闭您的文件,因此您不会意外地将其保持打开状态。使用'rU'作为文件模式将为您处理newline madness