EP2: comentários

EP2: comentários

by José Coelho de Pina -
Number of replies: 4

Salve,

Alguém sabe dizer o que a função abaixo faz?
Poderia escrever a especificação da função "Recebe ... retorna ..."?
Vocês já viram código parecido em algum lugar?


LETRAS = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

def misterio(texto):
    lista   = []  # lista  vazia 
    palavra = ''  # string vazio
    for c in texto: 
        if c in LETRAS:
            palavra += c   # concatena a nova letra
        elif len(palavra) > 0:
            lista.append(palavra)
            palavra = ''
    return lista
In reply to José Coelho de Pina

Re: EP2: comentários

by Rodrigo Lima Dias -

Essa função identifica os caracteres da variável 'texto', verifica se estão em 'LETRAS' (ou seja, no alfabeto), monta uma palavra com esses caracteres e, quando se depara com um caracter que não está em 'LETRAS', adiciona 'palavra' ao fim da 'lista'.

Fiz exatamente isso no meu EP2.

In reply to Rodrigo Lima Dias

Re: EP2: comentários

by José Coelho de Pina -

Essa função identifica os caracteres da variável

Certo!

Alguém já viu código parecido em algum lugar?

In reply to José Coelho de Pina

Re: EP2: comentários

by Flávio Silva -

Como ficaria o caso de textos com letras acentuadas?

In reply to Flávio Silva

Re: EP2: comentários

by José Coelho de Pina -

Como ficaria o caso de textos com letras acentuadas?

 LETRAS = 'aáàbcdeífghiéjklmnoópqrstuúvwxyzAÀÁBCDEÉFGHIÍJKLMNOÓPQRSTUÚVWXYZ'


Python 3.4.3 (default, Mar 26 2015, 22:03:40) 
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> str = "a"
>>> str.isalpha()
True
>>> "a".isalpha()
True
>>> "e".isalpha()
True
>>> str = "1"
>>> str.isalpha()
False
>>> s = "*"
>>> s.isalpha()
False
>>> s = "oi"
>>> s.isalpha()
True
>>> s = "oi1"
>>> s.isalpha()
False
>>> "é".isalpha()
True
>>> "à".isalpha()
True
>>> "também".isalpha()
True
>>> "também,".isalpha()
False
>>> help(str.isalpha)

Help on built-in function isalpha:

isalpha(...) method of builtins.str instance
    S.isalpha() -> bool
    
    Return True if all characters in S are alphabetic
    and there is at least one character in S, False otherwise.

>>>