我希望能够编写将“Hello World”等短语反转为“World Hello”的功能。到目前为止,我可以到达:
def reverser():
print('Please input a phrase')
inputphrase=input()
if ' ' in inputphrase:
在此之后,我假设您需要切片,然后该切片存储在元组中,最后变量将打印出来。
答案 0 :(得分:1)
它将存储在list
中,而不是tuple
中。以下是两行中的操作方法:
my_input = input('Your phrase: ')
print(*reversed(my_input.split())) # Python 3
或
print ' '.join(reversed(a.split())) # Python 2
所以函数将是:
func = lambda x: reversed(x.split())
如果调用如下,将返回短语中的反转单词列表:
arg = input('Enter a phrase :')
splitted = func(arg)
print(*splitted) # or in Python 2: print ' '.join(splitted)
答案 1 :(得分:0)
您可以使用内置的reversed
def reverser():
return ' '.join(reversed(input('Please input a phrase:').split()))
输入字符串在空格上分割,然后传递给反转,然后再次连接
例如,将其用作
>>> print(reverser())
Please input a phrase:hello world how are you
you are how world hello
答案 2 :(得分:0)
>>> inputphrase = "Hello World"
>>> parts = inputphrase.split(' ')
>>> parts.reverse()
>>> ' '.join(parts)
'World Hello'
您无需测试if ' ' in inputphrase:
,因为parts
在这种情况下只包含一个项目。
让您的功能有一个目的是个好主意。您应该有一个用于获取输入的函数,另一个用于反转它。
答案 3 :(得分:0)
Python编程语言提供了一种简洁的语法来反转a tuple。语法为
var[::-1]
,它返回var的反向副本。示例:
def reverser():
inputphrase = tuple(x.strip() for x in raw_input("Please input a phrase: ").split(' '))
return inputphrase[::-1]
print reverser()
输出:
Please input a phrase: Hello World
('World', 'Hello')
或者你可以这样做。
def reverser():
inputphrase = tuple(x.strip() for x in raw_input("Please input a phrase: ").split(' '))
return tuple(reversed(inputphrase))
print reverser()
输出:
Please input a phrase: Hello World.
('World.', 'Hello')