Skip to content

Instantly share code, notes, and snippets.

@pythrick
Created May 30, 2020 19:35
Show Gist options
  • Select an option

  • Save pythrick/37d23b4bf550f270ead8ded64ddeb15c to your computer and use it in GitHub Desktop.

Select an option

Save pythrick/37d23b4bf550f270ead8ded64ddeb15c to your computer and use it in GitHub Desktop.
from unicodedata import normalize
'''
Método para verificar se uma sequencia de valores é um palindromo
'''
def converter_ascii(chars: str) -> str:
return normalize('NFKD', chars).encode('ASCII', 'ignore').decode('ASCII')
def palindromo(s_in):
'''
Verifica se a sequencia informada é um palindromo
Retorna:
True, caso a sequencia seja um palindromo
False, caso contrario
'''
sequencia = [converter_ascii(x).lower() for x in s_in if x.isalnum()]
return sequencia == sequencia[::-1]
def test_palavras_que_sao_palindromo():
assert palindromo('ovo')
assert palindromo('racificar')
assert palindromo('radar')
assert palindromo('raiar')
assert palindromo('ralar')
assert palindromo('ramar')
assert palindromo('rapar')
assert palindromo('rasar')
assert palindromo('reger')
assert palindromo('reler')
assert palindromo('reter')
assert palindromo('rever')
assert palindromo('reviver')
assert palindromo('rir')
assert palindromo('rodador')
assert palindromo('sacas')
assert palindromo('saias')
assert palindromo('salas')
assert palindromo('socos')
assert palindromo('sós')
def test_palavras_que_nao_sao_palindromos():
assert not palindromo('chinelo')
assert not palindromo('canhão')
assert not palindromo('biscoito')
assert not palindromo('sabão')
assert not palindromo('torneira')
assert not palindromo('caneca')
assert not palindromo('marinha')
assert not palindromo('holograma')
def test_frases_que_sao_palindromos():
assert palindromo('Roma me tem amor.')
assert palindromo('Socorram-me, subi no ônibus em Marrocos!')
assert palindromo('A mala nada na lama. ')
assert palindromo('A grama é amarga. ')
assert palindromo('A Rita, sobre vovô, verbos atira.')
assert palindromo('Olé! Maracujá, caju, caramelo!')
assert palindromo('Rir, o breve verbo rir.')
assert palindromo('Anotaram a data da maratona.')
assert palindromo('A mãe te ama.')
assert palindromo('Oto come mocotó.')
assert palindromo('A torre da derrota.')
assert palindromo('Ótimo, só eu, que os omito.')
assert palindromo('O galo ama o lago.')
assert palindromo('O lobo ama o bolo.')
assert palindromo('Mega bobagem.')
assert palindromo('A cara rajada da jararaca.')
assert palindromo('Amar dá drama.')
assert palindromo('A sacada da casa.')
assert palindromo('Após a sopa.')
assert palindromo('Luz azul.')
assert palindromo('Ame o poema.')
assert palindromo('A dama admirou o rim da amada.')
assert palindromo('A diva em Argel alegra-me a vida.')
assert palindromo('O caso da droga da gorda do saco.')
assert palindromo('Zé de Lima, Rua Laura, Mil e Dez')
assert palindromo('Saíram o tio e oito marias.')
assert palindromo('Assim a aia ia a missa.')
assert palindromo('Adias a data da saída.')
assert palindromo('Acuda cadela da Leda caduca.')
assert palindromo('Aí, Lima falou: “Olá, família”.')
assert palindromo('A pateta ama até tapa.')
assert palindromo('E até o Papa poeta é.')
assert palindromo('Laço bacana para panaca boçal.')
assert palindromo('A gorda ama a droga.')
assert palindromo('Lava esse aval.')
assert palindromo('Soluço-me sem óculos.')
assert palindromo('Missa é assim.')
assert palindromo('Nos ligou o Gilson!')
assert palindromo('Até time demite, tá?')
assert palindromo('Irene ri.')
assert palindromo('Olá, galo!')
assert palindromo('Ai, Bia! ')
assert palindromo('Ali, lado da Lila. ')
assert palindromo('Amor a Roma.')
assert palindromo('Até o poeta.')
assert palindromo('Ladra pardal.')
assert palindromo('Livre do poder vil. ')
assert palindromo('O céu sueco.')
assert palindromo('Ser belo: lebres. ')
assert palindromo('Lá vou eu em meu eu oval.')
assert palindromo('Eco: vejo hoje você.')
assert palindromo('O muro: rever o rumo.')
assert palindromo('Orava o avaro.')
assert palindromo('A Daniela ama a lei? Nada!')
assert palindromo('A droga do dote é todo da gorda.')
assert palindromo('A lupa pula.')
assert palindromo('A miss é péssima!')
assert palindromo('À Rita, sátira!')
assert palindromo('Acata o danado... e o danado ataca!')
assert palindromo('Ajudem Edu já!')
assert palindromo('A base do teto desaba.')
assert palindromo('Eva, asse essa ave!')
assert palindromo('Marujos só juram.')
assert palindromo('O mito é ótimo.')
assert palindromo('O trote torto.')
assert palindromo('O treco certo.')
assert palindromo('O trote torto.')
assert palindromo('O voo do ovo.')
assert palindromo('Ódio do doido!')
assert palindromo('Oh nossas luvas avulsas, sonho... ')
assert palindromo('Oi, rato otário!')
assert palindromo('A rua Laura.')
assert palindromo('Ato idiota.')
assert palindromo('Arara rara.')
assert palindromo('O teu dueto.')
assert palindromo('A babá baba.')
assert palindromo('Pivete vip!')
assert palindromo('O Atari piratão.')
assert palindromo('Roda esse corpo, processe a dor!')
assert palindromo('Seco de raiva, coloco no colo caviar e doces.')
assert palindromo('Amo Omã. Se Roma me tem amores, amo Omã!')
assert palindromo('Me vê se a panela da moça é de aço, Madalena Paes, e vem.')
assert palindromo('Luza Rocelina, a namorada do Manuel, leu na moda da Romana: anil é cor azul.')
assert palindromo('O duplo pó do trote torpe de potro meu que morto pede protetor todo polpudo.')
assert palindromo('O romano acata amores a damas amadas e Roma ataca o namoro.')
def test_numeros_que_sao_palindromos():
assert palindromo('878')
assert palindromo('1221')
assert palindromo('15651')
assert palindromo('865568')
assert palindromo('6321236')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment