Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 使用Python反转句子中的单词_Python 3.x_Jupyter Notebook - Fatal编程技术网

Python 3.x 使用Python反转句子中的单词

Python 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

问题是:返回一个单词颠倒的句子

它最终会颠倒台词

我正在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 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()))