所以我必须创建一个代码,在其中读取每个第三个字母,并在每个字母之间创建一个空格,我的代码创建空格,但它在最后一个字母后面还有一个空格,这是我的代码:
msg = input("Message? ")
length = len(msg)
for i in range (0, length, 3):
x = msg[i]
print(x, end=" ")
Run Code Online (Sandbox Code Playgroud)
我的输出是:
信息?
我输入:
cxohawalkldflghemwnsegfaeap
Run Code Online (Sandbox Code Playgroud)
我回来了
c h a l l e n g e
Run Code Online (Sandbox Code Playgroud)
当输出不意味着在e之后有最后一个"".
我通过添加阅读print(" ".join(x))应该给我我需要的输出,但当我把它放在它只是给我一个错误.谢谢,麻烦您了
在Python中,字符串是一种称为序列的数据结构.序列支持切片,这是一种简单而奇特的方式,可以处理"从第n个","到第n个"和"每个第n个".语法是sequence[from_index:to_index:stride].一个人甚至没有for做那个循环
我们可以通过省略from_index和轻松获得每个第3个字符to_index,并且有3个步幅:
>>> msg = input("Message? ")
cxohawalkldflghemwnsegfaeap
>>> every_3th = msg[::3]
>>> every_3th
'challenge'
Run Code Online (Sandbox Code Playgroud)
现在,我们只需要在每个字母后插入空格.separator.join(iterable)将iterable按照给定的顺序将元素从一起加入separator.字符串是可迭代的,其元素是单个字符.
因此我们可以这样做:
>>> answer = ' '.join(every_3th)
>>> answer
'c h a l l e n g e'
Run Code Online (Sandbox Code Playgroud)
对于最终的代码,我们可以省略中间变量,并且仍然具有非常易读的双线性:
>>> msg = input('Message? ')
>>> print(' '.join(msg[::3]))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |