Given a string, return a new string where the first and last chars have been exchanged.
front_back(‘code’) → ‘eodc’
front_back(‘a’) → ‘a’
front_back(‘ab’) → ‘ba’
def front_back(str):
if len(str) == 0 or len(str) == 1:
return str
elif len(str) == 2:
return (str[-1] + str[0])
else:
return str[-1] + str[1:-1] + str[0]
Expected Run
front_back(‘code’) → ‘eodc’ ‘eodc’ OK
front_back(‘a’) → ‘a’ ‘a’ OK
front_back(‘ab’) → ‘ba’ ‘ba’ OK
front_back(‘abc’) → ‘cba’ ‘cba’ OK
front_back(‘’) → ‘’ ‘’ OK
front_back(‘Chocolate’) → ‘ehocolatC’ ‘ehocolatC’ OK
front_back(‘aavJ’) → ‘Java’ ‘Java’ OK
front_back(‘hello’) → ‘oellh’ ‘oellh’ OK
All Correct
def front_back(str):
if len(str) <= 1:
return str
mid = str[1:len(str)-1] # can be written as str[1:-1]
# last + mid + first
return str[len(str)-1] + mid + str[0]