Python 3.x 使用Python反转句子中的单词
问题是:返回一个单词颠倒的句子 它最终会颠倒台词 我正在Jupyter笔记本中学习和执行PythonPython 3.x 使用Python反转句子中的单词,python-3.x,jupyter-notebook,Python 3.x,Jupyter Notebook,问题是:返回一个单词颠倒的句子 它最终会颠倒台词 我正在Jupyter笔记本中学习和执行Python def master_yoda(string): l = string.split()`` p = len(string) - 1 final = '' while p<0: final = final + ' ' + s[p] p = p-1 print (final) master_yoda('Hello
def master_yoda(string):
l = string.split()``
p = len(string) - 1
final = ''
while p<0:
final = final + ' ' + s[p]
p = p-1
print (final)
master_yoda('Hello my name is Aryan')
def master_yoda(字符串):
l=string.split()``
p=len(字符串)-1
最终=“”
虽然p代码的一个大问题是您测试的是p<0
,但是由于p
以正值开始,代码永远不会进入while循环。你真的应该测试p>=0
。以下代码应该按照您希望的方式执行:
def master_yoda(string):
l = string.split()
p = len(l) - 1
final = l[p]
p -= 1
while p >= 0:
final += ' ' + l[p]
p -= 1
return final
请注意,如果将空字符串作为输入传递,则此实现将失败。我试图让代码保持您自己代码的精神,检查空字符串会使它更加复杂。最简单、最可靠的解决方案是:
def master_yoda(string):
return ' '.join(reversed(string.split()))
也许你应该试试这个
def master_yoda(字符串):
反向列表=字符串。拆分(“”)
反转列表。反转()
反向\u字符串=“”.join(反向\u列表)
打印(反转字符串)
尤达大师(“我在家”)
返回“”。join(reversed(string.split())
可能与@YashKaranke重复当我第一次看这个问题时,我和你的想法一样:OP试图手动反转字符串输入。当我再看一次问句时,我意识到他/她想要颠倒句子中的单词,而不是字符串中的字符。我编辑了这个问题以澄清这一点。此外,OP似乎想了解他/她已经编写的代码出了什么问题。@AnthonyGeoghegan如果是这样的话,我会收回我的反对票,我也看到了你的解释,但OP没有接受,尽管它解释了错误,而OP只接受了一段代码的答案,我只是希望你的答案能被接受,因为它反映了对答案更好的印象,并证明了社区的合理性。如果OP只是在寻找问题的任何解决方案(而不是解释他们的代码出了什么问题),那么这个问题是重复的
def master_yoda(string):
return ' '.join(reversed(string.split()))