从.txt文件中每行的第5个字符创建一个新字符串



函数必须返回通过将每行的第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]

最新更新