Python 为什么只将名称写入文件而不将scoreavg2写入

Python 为什么只将名称写入文件而不将scoreavg2写入,python,Python,当我运行此代码并输入数据时,它只写入变量名,而不写入平均分数。根据定义,迭代字典时,只迭代键。无论是显式地(输入数据:)还是隐式地(列出(数据)或f.writelines(数据)) 如果要同时迭代键和值,请使用.iteritems()(Python 2)或.items()(Python 3): 让我们创建一些示例数据: data = {name:[scoreavg2]} for k,v in data.items(): f.write("{}: {}\n".format(k, v))

当我运行此代码并输入数据时,它只写入变量名,而不写入平均分数。

根据定义,迭代字典时,只迭代键。无论是显式地(
输入数据:
)还是隐式地(
列出(数据)
f.writelines(数据)

如果要同时迭代键和值,请使用
.iteritems()
(Python 2)或
.items()
(Python 3):


让我们创建一些示例数据:

data = {name:[scoreavg2]}
for k,v in data.items():
    f.write("{}: {}\n".format(k, v))
现在,让我们以一种有用的格式将其写入文件:

>>> data = {'dog':80, 'cat':90}
该文件将包含:

>>> filehandle.writelines('%s: %s\n' % item for item in data.items())
工作原理 我们有一本包含多个项目的词典,我们希望以某种有用的形式打印它们

首先,要获取字典中的项,我们使用
data.items()
。这将返回键和值对

其次,对于每个键、值对,我们需要对其进行格式化。在这里,我选择了键后跟冒号,空格后跟值和换行符:
'%s:%s\n'%item
。将它们放在一起看起来像

dog: 80
cat: 90

这就是我们写入文件的内容。

名称是一个字符串吗?我假设scoreavg2是一个数字列表?你能举例说明写入文件的确切内容,以及你想要什么吗?Totem yes name是一个字符串,score avg是输入的score score当它运行时,如果名称为put bob,例如,平均分数为5,它只会写入bob到文件你介意把它放到我代码的上下文中吗,因为我不知道把它放在哪里,因为我是一个追踪者(最近的一次调用):文件“C:/Users/James/Documents/python work/task 3 practice(1.py)”,第18行,在f.write(k,str(v))TypeError:write()中正好有一个参数(2个给定参数),来自
print()
to
f.write()
未经调整。很抱歉,这很好,但由于某些原因,现在它不会向文件写入任何内容。不要忘记结尾处的
f.close()
dog: 80
cat: 90
'%s: %s\n' % item for item in data.items()