对于分配给我们的任务,我们需要取一首诗并将其标记化并放入数组中。然后使用map和filter函数,我们必须在将诗歌放入一个新的数组中的同时,将其取消计时和资本化。在把这首诗的首字母去掉之前,我已经把一切都弄清楚了。在给我们的示例代码中,它告诉我们如何去掉字符的大写字母,但我需要找出如何读取所有字符并返回一个列表,这样它就可以将所有字符都去掉。这是我目前掌握的代码。在
def decapitalizeTokens(transformed):
decap = []
for i in range(0,len(transformed),1):
lowered = toLower(transformed[i])
decap.append(lowered)
print(lowered)
return decap
def toLower(ch):
if (ord(ch) <= ord('Z')):
return chr(ord(ch) + ord('a') - ord('A'))
else:
return ch
这就是你要找的吗?在
你真的没有问一个问题,所以我不会真正回答它-你发布的代码有一个相当严重的问题。在
如果传入的字符串中除了字母之外还有其他内容,则会出现意外行为。绳子
变更
^{pr2}$你需要确保你“降低”的字母实际上是字母而不是标点符号。在
您的
decapitalizeTokens
函数实际上与您想要的非常接近(据我所知),但是如果您将其粘贴到源文件中,那么问题似乎是您的return
语句需要减少一个级别。您希望在循环完成后返回小写字符列表,而不是在到达第一次循环结束时返回。在作为oneliner的另一种形式,您可以理解:
^{pr2}$添加交互式示例
请注意,我们可以像使用字符一样有效地迭代空白字符串,也可以对教授的
toLower
函数传递空格时的奇怪行为进行迭代。在相关问题 更多 >
编程相关推荐