这就是口译员所说的...
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
nth_term_rule(list_a)
File "C:\Users\Jimmy\Desktop\Python 2.7 Functions Pack 1\nth_term_rule.py", line 5, in nth_term_rule
f.write(n)
TypeError: expected a character buffer object
这真的让我很烦,我目前在我的功能包的第n个任期规则函数的中间,我试图确保序列是稳定的-如果不是第n个任期规则将是错误的。因此,我尝试附加一个文本文件,该文件中将包含列表中的每个数字。然后,解释器将遍历每个数字,并确保它与下一个数字之间的差异与先前的数字相同。
不幸的是,上面出现了错误,我不知道为什么。
这是我的代码,如果有帮助...
def nth_term_rule(a):
for n in a:
str(n)
f = open("C:\Users\Jimmy\Desktop\Python 2.7 Functions Pack 1\Numbers.txt","a")
f.write(n)
f.close()
if a[0] - a[1] == a[len(a)-2] - a[len(a)-1]:
b=a[1] - a[0]
c=a[0] - b
return (b,'n + ',c)
else:
return ("Error.")
任何帮助将非常感激。
您正在忽略的返回值str()
:
str(n)
str()
返回新的字符串,您要将其分配回n
:
n = str(n)
您可能希望避免在每次循环迭代时都重新打开文件。只需打开一次即可:
filename = r"C:\Users\Jimmy\Desktop\Python 2.7 Functions Pack 1\Numbers.txt"
with open(filename, "a") as f:
for n in a:
f.write(str(n) + \n)
这增加了一些其他内容:
with
语句)可确保在块结束时再次自动将其关闭。r'...'
)可以防止将\
其解释为转义序列。这样,以at
或n
orr
等开头的文件名就不会被解释为特殊文件名。有关更多信息,请参见字符串文字。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句