我正在尝试创建一个函数来反转用户输入的句子,但是当我运行该程序时,却没有得到相反的句子。贝娄是我的代码
sentence=input('Enter a sentence: ')
def sentence_reverse(sentence):
words=sentence.split()
newsentence=words.reverse()
return (newsentence)
print(sentence_reverse(sentence))
答案 0 :(得分:1)
def sentence_reverse(s):
return ' '.join(s.split()[::-1])
print(sentence_reverse(sentence))
答案 1 :(得分:0)
你可以做到
def reverse(s):
if len(s) == 0:
return s
else:
return reverse(s[1:]) + s[0]
或:
def reverse2(s):
return s[::-1]
答案 2 :(得分:0)
reverse()
是就地操作,这意味着它本身会反转words
并且不返回任何内容。因此,您不想返回newsentence
,而是想像这样返回words
:
sentence=input('Enter a sentence: ')
def sentence_reverse(sentence):
words=sentence.split()
words.reverse()
return words
print(sentence_reverse(sentence))
>>>Enter a sentence: hello world
>>>['world', 'hello']
答案 3 :(得分:0)
欢迎使用StackOverflow!
原因是因为您正在使用split()
,但是它不会将输入字符串转换为其字符列表。它只是用一个元素组成一个列表,这就是您的输入字符串。而是使用list()
函数将字符串转换为列表,然后使用join()
函数将其转换回字符串。除此之外,reverse()
不返回任何内容。因此,您必须改为返回words
变量。
sentence=input('Enter a sentence: ')
def sentence_reverse(sentence):
words=list(sentence)
words.reverse()
return ''.join(words)
print(sentence_reverse(sentence))
答案 4 :(得分:0)
这是解决问题的最简单方法:
sentence=input('Enter a sentence: ')
def sentence_reverse(sentence):
words= sentence.split() # breaks the sentence into words
rev_sentence= ''
for word in words:
rev_sentence = ' ' + word + rev_sentence
return rev_sentence
print(sentence_reverse(sentence))
输入:Hi please reverse me
输出:me reverse please Hi
希望这对您有所帮助。请让我知道是否还有其他需要。