我正在写一个测验程序,用户被问到他们的名字,然后问了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()
变量是名称和分数。其余的代码在没有它的情况下工作。此外,所有代码都会一直运行,直到程序在代码中读取此点为止。
答案 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)