数字不写入我的文件 - python

时间:2015-05-16 20:14:35

标签: python

我正在写一个测验程序,用户被问到他们的名字,然后问了10个问题,每个正确的问题都会获得1分,然后在结束时打印总分,我希望将名称和分数保存到一个文件,但我得到一条消息说:

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() 

变量是名称和分数。其余的代码在没有它的情况下工作。此外,所有代码都会一直运行,直到程序在代码中读取此点为止。

2 个答案:

答案 0 :(得分:2)

试试这个:

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

您无法添加字符串和int,因此您必须将它们转换为相同的值。

更好的是,使用str.format

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

答案 1 :(得分:0)

您无法向整数添加字符串。要做到这一点,你必须做任何一件事:

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

或使用格式化字符串:

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