Python 颠倒句子顺序的函数
我有以下代码:Python 颠倒句子顺序的函数,python,Python,我有以下代码: text = str(input('Input sentence, please: ')) def reverse(text): r_text = '' index = len(text) - 1 while index >= 0: r_text += text[index] index -= 1 return r_text print(reverse(text)) 但是输出是例如:Whats up-
text = str(input('Input sentence, please: '))
def reverse(text):
r_text = ''
index = len(text) - 1
while index >= 0:
r_text += text[index]
index -= 1
return r_text
print(reverse(text))
但是输出是例如:Whats up->pu stahW,我需要它->up Whats
换言之:
编写伪代码和一个函数的代码,该函数可以反转句子中的单词
输入:
"This is awesome"
输出:
"awesome is This".
用大O表示法
您可以这样做:
>>> " ".join("Hello world".split()[::-1])
'world Hello'
或者,如果您希望它出现在函数中:
>>> def reverse(text):
... return " ".join(text.split()[::-1])
...
>>> reverse("Hello world")
'world Hello'
def reverse_sentence(s):
l = s.split()
l.reverse()
return ' '.join(l)
split
应该可以工作。用空格把它分块。然后反转数组。最后在“”上加入反向数组
a = "What's up"
bits = a.split()
print(bits) # yields: ["What's", 'up']
bits_reversed = bits[::-1]
print(bits_reversed) # yields: ['up', "What's"]
print(' '.join(bits_reversed))
您可以使用reverse()
函数查看列表
:
s = "What's up"
l1 = s.split()
l1.reverse()
res = ' '.join(l1)
输出:
>>> res
"up What's"
>>> reverse_sentence("What's up")
"up What's"
在自定义函数中:
>>> def reverse(text):
... return " ".join(text.split()[::-1])
...
>>> reverse("Hello world")
'world Hello'
def reverse_sentence(s):
l = s.split()
l.reverse()
return ' '.join(l)
输出:
>>> res
"up What's"
>>> reverse_sentence("What's up")
"up What's"
我认为
split
的论点是多余的。(.split()
足够了)@Alec很好,不完全是这样。在没有参数的情况下,它会在任何空白处拆分,而不仅仅是在空白处。但是,我不确定哪一个是最好的。我得到了一个奇怪的输出:[“What's”,“up'][“up',“What's”]up What's
加入'
上的数组查看edit@ErikTonev这是因为有三个打印语句来显示答案的作用。是的,哈哈,我删除了其中的两个,但是是的,它做得很好