【发布时间】:2020-01-16 11:25:21
【问题描述】:
我目前正在上我的第二门 Python 课程,在我们的复习热身活动中,我被一个看似简单的问题难住了。它是这样表述的:
在本练习中,您的函数将接收 1 个参数,即文本文件的名称。该函数将返回通过将每行的第五个字符连接成一个字符串而创建的字符串。如果该行少于 5 个字符,则应跳过该行。在查找第五个字符之前,所有行都应删除前导和尾随空格。
CodeGrinder 然后根据随机生成的 .txt 文件对其进行评分。这是我目前拥有的代码:
def fifthchar(filename):
file = open(filename)
fifthstring = ''
for x in file:
x.strip('\n ')
if len(x) >= 5:
fifthstring += x[4]
else:
pass
fifthstring.strip('\n ')
return fifthstring
并返回错误:
AssertionError: False is not true : Fifthchar(rprlrhya.txt) 返回了 mylgcwdnbi
dmou。它应该返回 mylgcwdnbidmou。检查您的逻辑,然后重试。
似乎换行符正在通过我的.strip() 潜入,我不知道如何删除它们。我认为.strip() 会删除\n,并且我已经尝试了从.rstrip() 到fifthstring.join(fifthstring.split()) 的所有方法,以在循环中剥离fifthstring 和x 时具有冗余。这些换行符是如何通过的?
【问题讨论】:
-
你在剥离
/n,我认为你的意思是\n:) -
我在发布之前在我的代码中更正了它,但仍然出现错误,但修复了帖子中的错字。同样的问题仍然存在,但感谢您的帮助!
标签: python string removing-whitespace