Skip to content

Instantly share code, notes, and snippets.

@mariaerbiste
Last active November 26, 2023 21:51
Show Gist options
  • Save mariaerbiste/152eaef3576f29bf5d882188e8f59d6c to your computer and use it in GitHub Desktop.
Save mariaerbiste/152eaef3576f29bf5d882188e8f59d6c to your computer and use it in GitHub Desktop.
padronização de texto e criação de "panfleto"
import re
#posição [0] artista
#posição [1] local
def encontrar_artista_local(texto):
return re.findall('".+"', texto)
def encontrar_data(texto):
datas = re.findall('[0-9]{2}/[0-9]{2}', texto) or re.findall('[0-9]{2}/[a-z]{3}', texto)
if datas is not None:
return datas
def encontrar_turne(texto):
return re.findall(r'(?:turnê|show|espetáculo)\s+(.*?)[.,;!?)\]]', texto)
def encontrar_cidade(texto):
return re.search('[a-zA-Z]+, [A-Z]{2}', texto).group()
def encontrar_site(texto):
return re.search('[a-z]+\\.[a-z.]+[a-z]', texto).group()
def encontrar_valor_ingresso(texto):
ingresso = re.search('R\\$ [0-9]+', texto) or re.search('[0-9]+ reais', texto)
if ingresso is not None:
return ingresso.group()
def encontrar_codigo(texto):
codigo = re.search('[A-Z]{3,}', texto)
if codigo is not None:
return codigo.group()
def verificar_maior_palavra(texto):
resultados = [
encontrar_artista_local(texto),
encontrar_data(texto),
encontrar_cidade(texto),
encontrar_site(texto),
encontrar_valor_ingresso(texto),
encontrar_codigo(texto)
]
maior_palavra = max([palavra for resultado in resultados if resultado for palavra in resultado], key=len, default='')
tamanho_linha = len(maior_palavra) + 4
return tamanho_linha
n = int(input("Digite o número de linhas: "))
texto = ""
for i in range(n):
texto += input() + "\n"
linhas_artista = encontrar_artista_local(texto)
linha_artista = linhas_artista[0]
tamanho = verificar_maior_palavra(texto)
turne = encontrar_turne(texto)
cidade = encontrar_cidade(texto)
localidade = encontrar_artista_local(texto)
local = localidade[1]
data = encontrar_data(texto)
site = encontrar_site(texto)
preco = encontrar_valor_ingresso(texto)
cupom = encontrar_codigo(texto)
print('#' *tamanho)
print('#{:^{tamanho}}#'.format(linha_artista[0].upper(), tamanho=tamanho))
print('#' * tamanho)
print('#{:^{tamanho}}#'.format(turne, tamanho=tamanho))
print('#{:^{tamanho}}#'.format(cidade, tamanho=tamanho))
print('#{:^{tamanho}}#'.format(data, tamanho=tamanho))
print('#{:^{tamanho}}#'.format(local[1], tamanho=tamanho))
print('#{:^{tamanho}}#'.format(site, tamanho=tamanho))
print('#' * tamanho)
print(f'|{"Ingresso R$" + str(preco):^{tamanho}}|')
print(f'|{"Utilize o cupom" + str(cupom):^{tamanho}}|')
print('+' + '-' * tamanho + '+')
"""
# ENTRADAS
#1
texto = ''' "RPM" com único show Alvorada Voraz, na "Esplanada dos Ministérios".
Brasília, DF, por 0 reais! Mais em www.rpm.mus.'''
#2
texto = "When in Rome" no "Colosseum" com a turnê The Promise, Londrina, PR em 13/jan.
R$ 123.45 no site right.words.to.say.
#3
texto = Os "Raimundos" chegaram à JamPessoa, PB, com a turnê Retorno da Jurema!
Preço único de 42 reais por tiquete, todos os detalhes estão no site palhas.do.coqueiro.br.
Apresentações em 26/fev, 27/fev e 28/fev no "Berssange's".
#4
texto = A banda "Queen" volta aos palcos na turnê Mustapha Mustapha Mustapha Ibrahim.
Todas as informações estão no site www.queen.mus.
Serão apresentações em Brasília, DF, nos dias 31/10 e 01/11, no estádio "Mané Garrincha".
Ingressos a partir de R$ 500, mas você pode usar o cupom MAISAPC!
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment