我正在学习python3,我被一个非常简单的练习所阻碍:
使用方括号表示法将字符串“不要惊慌”转换为“点击”。
这是我的密码:
phrase = "Don't panic!"
plist = list(phrase)
new_phrase = ''.join(plist[1:3]).join(plist[5:3:-1]).join(plist[-5:-7:-1])
print(new_phrase)
我希望输出字符串“on tap”
''.join(plist[1:3]) //"on"
.join(plist[5:3:-1]) //" t"
.join(plist[-5:-7:-1]) //"ap"
但是我有一个ontp。
为什么?!?
注意:我知道还有其他方法可以解决这个问题,我可以用不同的方式来解决。我不是在寻找一个替代的解决方案,我是在试图理解我上面写的代码有什么问题。
每一个连续的连接都是利用前面的东西来…嗯…连接元素。这就是为什么你的代码会给出这样的结果。建议打印中间产物。你知道吗
在
.join()
之前出现的任何内容都在括号内的每个元素中间隔:您是join的链接调用,因此每个结果都被间隔到以下join部分:
替代解决方案:
提供:
只需添加您的元素,而不是试图通过它们的前一个元素来连接其内容。你知道吗
您的代码无法工作,因为您是通过
[" ", "t"]
和["a", "p"]
之前的元素加入它们的:相关问题 更多 >
编程相关推荐