Ir para conteúdo
Fórum Script Brasil
  • 0

Por que esse programa não funciona?


ana.bela2015

Pergunta

Seja l uma lista de strings. Cada string contém uma frase, isto é, palavras separadas por espaços em branco. Você pode assumir que as palavras são todas escritas com letras minúsculas e que não há caracteres acentuados. Escreva código Python para imprimir a palavra com maior comprimento.

Código que fiz:

l=["ana e bela", "casa nova", "linda menina"]
def palavras (s):
s=s[primeiro_nao_branco(s):]
if s==' ': return []
l=[s[:primeiro_branco(s)]]
s=s[primeiro_branco(s):]
s=s[primeiro_nao_branco(s):]
l=l+[s[:primeiro_branco(s)]]
def primeiro_nao_branco(s):
for i in range(len(s)):
if s==' ':return i
return len(s)
def primeiro_branco(s):
for i in range (len(s)):
if s==' ': return i
return len(s)
def maior_palavra(l):
maior=' '
for s in l:
for p in palavras(s):
if len(p)>len(maior):
maior=p
return maior
print maior_palavra(l)

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

A função palavras retorna uma lista vazia apenas se s for uma string vazia, em qualquer outro caso retorna um NoneType

isso gera um erro na linha 25, onde um for tenta inteirar um NoneType

Se a função palavras retornar l ou s a função maior_palavra ainda não vai conseguir achar a palavra maior

Faça um dir(""), vai ver muitas funções de tratamento de string vai te poupar muito esforço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...