2012-03-02 41 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