函数必须返回通过将每行的第5个字符连接成一个字符串创建的字符串。你能告诉我我哪里做错了吗?
的例子:
fifthchar("input.txt") -> skzke akeaa4
def fifthchar(filename):
newstring = ""
file = open(filename, 'r')
for line in filename:
newstring = newstring + line[4]
file.close()
return newstring
您需要编辑for循环,您正在遍历字符串而不是文档。文件而不是filename.
file = open(filename, 'r')
for line in file:
newstring = newstring + line[4]
代码的一个问题是它不检查当前行的长度。如果该行实际上没有5个字符,这将导致问题。您还需要记住,n
也算作一个字符。试试这个:
newstring = ""
for line in filename:
stripped_line = line.rstrip()
if len(stripped_line) >= 5:
newstring = newstring + stripped_line[4]