2012-03-02 44 views
1

我知道这可能是一个愚蠢的问题,但我似乎无法真正做到这一点。将用户指定的号码添加到文件中已有的号码。 (python)

我试图做到这一点:

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) 

我试图说,他们都是浮动,使他们能够正确添加,因为我需要的用户可以添加,但小数当过我做到这一点,我得到 类型错误:无法将“浮动”对象为str隐含

我已经在互联网上搜索,我已经看到了这个错误拿出负载,但什么也似乎真的帮助。

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

+0

请缩进/格式化代码。 – 2012-03-02 10:00:01

回答

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 
+0

谢谢,帮助我很多<3 – user1244772 2012-03-02 10:24:21

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

+0

(不得不改变一些事情,所以它实际上将与3.2) 我试过使用 – user1244772 2012-03-02 10:21:24