Ir para o conteúdo
rubenp

ajuda

Mensagens Recomendadas

rubenp    0
rubenp

oi podem me ajudar kom este programa?

esta aqui o enunciado:

escreve uma funçao "mais_frequente" que tem uma string como parâmetro e imprime no ecrã as 3 letras mais frequentes nessa strimg

obrigado pela atençao

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Soulsick    1
Soulsick

só te posso ajudar quanto à parte de algoritmia.

fazes um ciclo que percorra a string toda e que conta o numero de vezes que cada letra aparece depois e só dizer quais foram as 3 letras que mais vezes apareceram.

és capaz de ter que usar um array  para armazenar a letra que é e o numero de vezes que essa letra apareceu  :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

Fica aqui um algoritmo para fazer isso mas com palavras em vez de letras.

string = "oi oi oi oi ole ola ola ola ola"

qtds = {}
for palavra in string.split():
    if qtds.has_key(palavra) == False: qtds[palavra] = 0
    qtds[palavra] += 1
maior = [None ,[]]
for palavra in qtds:
    if qtds[palavra] > maior[0]:
        maior[0] = qtds[palavra]
        maior[1] = [palavra]
    elif qtds[palavra] == maior[0]:
        maior[1].append(palavra)

if len(maior[1]) > 1:
    msg = 'As palavras mais frequentes são "%s" e aparecem %i vezes' % ('", "'.join(maior[1]), maior[0])
else:
    msg = 'A palavra mais frequente é "%s" e aparece %i vezes' % (maior[1][0], maior[0])
print msg

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade