2015-05-16 60 views
-1

我正在寫一個測驗程序,用戶被問及他們的名字,然後問10個問題,併爲每個正確的問題1點是獎勵然後在最後總分打印,我想名稱和分數將被保存到一個文件,但我得到一個消息說:數字不寫入我的文件 - python

TypeError: Can't convert 'int' object to str implicitly 

我的一段代碼,寫的名字和分數的文件是這樣的:

f = open('Class 1.txt','w') 
line = f.writelines('Name: ' + Name + ' ') 
line = f.writelines('Number: ' + Score + '\n') 
f.close() 

變量是名字和分數。其餘的代碼沒有這個工作。當程序讀取代碼中的這一點時,所有的代碼也會一直運行到最後。

+0

無關:不要使用'.writelines()'寫*單*字符串。改用'.write()'或'print('Name:',name,'Number:',score,file = f)'。 – jfs

回答

2

試試這個:

line = f.writelines("Name: " + str(Name) + " ") 

您不能添加一個字符串和一個int,所以你必須將它們轉換爲相同的值。

富裕了,用str.format

line = f.writelines("Name: {}  ".format(Name)) 
0

你不能字符串添加到整數。要做到這一點,你必須做兩種:

line = f.writelines('Number: ' + str(Score) + '\n') 

,或者使用格式的字符串:

line = f.writelines('Number: %i\n' %Score)