每隔三个字母打印一次Python

2024-05-19 06:22:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Grok Learning,它给你的任务是“从一个句子中每三个字母中选择一个(从第一个字母开始),并打印出那些中间有空格的字母。” 这是我的代码:

text = input("Message? ")
length = len(text)
for i in range (0, length, 3):
 decoded = text[i]
 print(decoded, end=" ")

虽然我说它是不正确的,但它说这是理想的输出:

Message? cxohawalkldflghemwnsegfaeap
c h a l l e n g e

我的输出和预期的一样,在我的输出中,我在最后一个e之后有一个空格。有人能想出办法解决这个问题吗?


Tags: 代码textinmessageforinputgroklen
3条回答

若要在字符之间只有空格,可以使用切片创建字符串"challenge",然后使用str.join添加空格:

" ".join(text[::3])

如果您浏览Grok课程,会看到一个名为“逐步并排”的页面(链接在https://groklearning.com/learn/intro-python-1/repeating-things/8/),其中介绍了rstrip函数。如果您写print(output.rstrip()),它将去掉字符串右侧的空白。

您应该再看一下this page上关于构建字符串的注释,然后立即将其全部打印出来,在这种情况下,可以使用rstrip()output[:-1]来去掉最右边的空格。

下面是一个使用rstrip和切片以相同方式打印数字0到9的示例。

output = ""
for i in range(10):
  output = output + str(i) + ' '
print(output[:-1])
print(output.rstrip())

相关问题 更多 >

    热门问题