编写一个接受由字母字符组成的空格分隔的单词串的函数,并返回一个字符串,使得输入字符串中的每个单词都被反转,同时保留输入字符串中单词的顺序.资本化在这里很重要.输入字符串的长度必须等于输出字符串的长度,即输出字符串中不应有尾部或前导空格.例如,如果:
input_string ="这是一个示例测试"
那么函数应该返回一个字符串,如:
"siht si a elpmas tset"
这是我的代码:
def preserve_and_reverse (input_str):
list = input_str.split()
print (list)
reverse_character = ""
for i in range (0, len(input_str)):
split_list = list[0:(i + 1)]
print (split_list)
for j in split_list_advance:
reverse_character = reverse_character + split_list[j]
output_str = output_str.append(reverse_character)
output = output_str.replace("", " ")
print (output)
#Main Program
input_str = input("Enter a string: ")
result = preserve_and_reverse (input_str)
print (result)
Run Code Online (Sandbox Code Playgroud)
我没有得到代码的任何地方.我是否应该尝试不同的方法,例如遍历每个字符,当我遇到白色空格时,只需将字符串切片然后执行反向操作?任何帮助,将不胜感激.
Split在空格上方,将每个字符串反转map,[::-1]然后将join它们返回
' '.join
>>> s = 'this is a sample test'
>>>
>>> ' '.join(map(lambda s:s[::-1], s.split()))
'siht si a elpmas tset'
Run Code Online (Sandbox Code Playgroud)