问题是:返回一个句子,并加上相反的字词
>>> master_yoda('I am home')
'home am I'
它最终将使行中的单词反转。
我正在Jupyter Notebook中学习和执行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')
输出为空。 没有语法错误,但仍然没有输出...
答案 0 :(得分:1)
该代码的最大问题是您正在测试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()))
答案 1 :(得分:1)
也许您应该尝试一下。
def master_yoda(string):
reversed_list = string.split(' ')
reversed_list.reverse()
reversed_string = ' '.join(reversed_list)
print(reversed_string)
master_yoda("i am home")