2015-05-16 34 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)