[Python] Gira una cadena de texto 180º con FlipString

Iniciado por .:WindHack:., 20 Septiembre 2010, 22:59 PM

0 Miembros y 1 Visitante están viendo este tema.

.:WindHack:.



FlipString es un script desarrollado en Python que permite girar la cadena que se pase como parámetro 180º.

Por el momento sólo se ha probado en GNU/Linux, así que no puedo establecer a ciencia cierta cómo se comporta en otros entornos.

Su funcionamiento es sencillo, tan sólo se debe pasar como parámetro el texto que deseamos invertir. Por ejemplo:

Código (bash) [Seleccionar]
windhack@windhack-desktop:~$ python 'flipstring.py' Hola

Nos devuelve como resultado: ɐloɥ
Para convertir una cadena de texto más larga y que contenga espacios se deben usar las comillas dobles ("").

Aquí adjunto el código fuente.

Código (python) [Seleccionar]
#!/usr/bin/python
# -*- coding: utf-8 -*-
# FlipString.py - DaW - Labs & Cibernodo
# Autor: .:WindHack:.
# 20/09/2010 - www.daw-labs.com & www.cibernodo.net
# Puede usar, modificar y redistribuir éste código
# siempre y cuando respete los derechos de autor.

from sys import argv

# Diccionario de equivalencia en caracteres.

FlipCharset = { 'a' :u'\u0250',
                'b' :'q',
                'c' :u'\u0254',
                'd' :'p',
                'e' :u'\u01DD',
                'f' :u'\u025F',
                'g' :u'\u0183',
                'h' :u'\u0265',
                'i' :u'\u0131',
                'j' :u'\u027E',
                'k' :u'\u029E',
                'l' :'l',
                'm' :u'\u026F',
                'n' :'u',
                'o' :'o',
                'p' :'d',
                'q' :'b',
                'r' :u'\u0279',
                's' :'s',
                't' :u'\u0287',
                'u' :'n',
                'v' :u'\u028C',
                'w' :u'\u028D',
                'x' :'x',
                'y' :u'\u028E',
                'z' :'z',
                ' ' :' ',
                '1' : '\u21C2',
                '2' : '\u1105',
                '3' : '\u1110',
                '4' : '\u3123',
                '5' : '\u078E',
                '6' : '9',
                '7' : '\u3125',
                '8' : '8',
                '9' : '6',
                '0' : '0',
                '.' : '\u02D9',
                ',' : "\'",
                ';' : '\u061B',
                '!' : '¡',
                '¡' : '!',
                '?' : '¿',
                '¿' : '?',
                '[' : ']',
                ']' : '[',
                '(' : ')',
                ')' : '(',
                '{' : '}',
                '}' : '{',
                '<' : '>',
                '>' : '<',
                '_' : '\u203E' }

# Función para girar el texto.

def FlipString(String):
    Result = ''
    String = String.lower()
    for i in String:
        Result += FlipCharset[i]
    return Result[::-1]

def __main__():
    __Help__ =  '''
_____ _ _      ____  _        _
|  ___| (_)_ __/ ___|| |_ _ __(_)_ __   __ _
| |_  | | | '_ \___ \| __| '__| | '_ \ / _` |
|  _| | | | |_) |__) | |_| |  | | | | | (_| |
|_|   |_|_| .__/____/ \__|_|  |_|_| |_|\__, |
          |_|                          |___/

© 2010. DaW - Labs & Cibernodo

Modo de uso:
    FlipString.py "Texto"
    '''
    try:
        HasText = argv[1]
        print '''
%s
              ''' % FlipString(HasText)
    except:
        print __Help__

if __name__ == '__main__':
    __main__()

Follow me on Twitter: @windhack | Visit my website: www.daw-labs.com

"The only thing they can't take from us are our minds."