我有一个代码段,可以替换给定字符串中的第一个和最后一个字符,该代码可以正常工作:
def front_back(s1):
if len(s1) == 1:
return s1
else:
convert_to_list = list(s1)
temp_list = convert_to_list[0], convert_to_list[-1]
convert_to_list[-1] = temp_list[0]
convert_to_list[0] = temp_list[1]
s1 = ''.join(convert_to_list)
return s1
inpt1 = input('Enter string :')
print(front_back(inpt1))
我得到的输出是:
front_back('code') -- 'eodc'
在上面的代码中,我可以进行哪些修改以使其更有效,因为我知道您可以使用切片功能来实现它。 另外,如何使此代码适用于包含两个单词的字符串:
input: 'hello world'
output should be: 'oellh dorlw'
由于当前它仅替换第一个字符i.e. 'ello worlh'
谢谢。
答案 0 :(得分:1)
编辑:
def front_back(s1):
if len(s1) == 1:
return s1
else:
newlist = []
convert_to_list = s1.split()
for each in convert_to_list:
each_list = list(each)
firstC, lastC = each_list[0], each_list[-1]
each_list[0] = lastC
each_list[-1] = firstC
newword = ''.join(each_list)
newlist.append(newword)
return ' '.join(newlist)
inpt1 = input('Enter string :')
print(front_back(inpt1))