这是我的清单:
nums= []
for n in range(10):
thenums= random.randint(10,90)
print(thenums, end= " ")
nums.append(thenums)
现在我需要帮助分别编写每个整数,但是我在编写文件中单个行的列表中的每个数字时遇到问题。
with open("angles.txt", 'w') as h:
for n in nums:
h.write[str(n), + '\n']
答案 0 :(得分:3)
你的语法相当远。这条线
h.write[str(n), + '\n']
生成一个包含两个元素的元组str(n)
和+ '\n'
;后者抛出你的异常:
>>> + '\n'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: bad operand type for unary +: 'str'
如果没有逗号,您可以正确连接数字和字符串:
>>> n = 42
>>> str(n) + '\n'
'42\n'
但是你也试图使用h.write
,就像它是一个列表或字典:
>>> h = open('/tmp/demo.txt', 'w')
>>> h.write['42\n']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'
使用(...)
括号来调用某些内容;正确的表达是:
h.write(str(n) + '\n')