Invierta los caracteres en todas las palabras de una línea, incluidos los números, pero deje intactos los caracteres especiales y los símbolos en la misma posición. Considere los siguientes ejemplos.
Entrada: ‘Bangalore is@#$!123 bloqueado nuevamente en julio de 2020’ debe cambiar a
Salida: ‘erolagnaB si@#$!321 dekcol niaga ni 0202luj’Entrada: ‘Bangalore is@#$!123locked bloqueado de nuevo en julio de 2020’ debe cambiar a
Salida: ‘erolagnaB si@#$!dekcol321 dekcol niaga ni 0202luj’
Mire el ejemplo anterior, cada palabra se invierte, si hay algún carácter especial, entonces la palabra que rodea al carácter especial se invierte.
Python3
def reverStringsInLine(s): sl = s.split(' ') rsl = '' for word in sl: str_word = '' rev_sub_word = '' for ch in word: if ch.isalnum(): str_word += ch else: # If it is special character, then # reverse non special characters and # append special character rev_sub_word += str_word[::-1] + ch # Clear the old stached character, as # it is already reversed str_word = '' # Keep appending each words, also add words # ending with non-special character r_word = rev_sub_word + str_word[::-1] rsl += r_word + ' ' return rsl s = 'Bangalore is@#$!123locked locked again in jul2020' print(reverStringsInLine(s))
Producción:
erolagnaB si@#$!dekcol321 dekcol niaga ni 0202luj
Publicación traducida automáticamente
Artículo escrito por nagendrakallihal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA