1
resposta

Dúvida com o value_error

Oi, estou com uma dúvida na parte da geração do texto colorido:

#texto colorido texto_colorido( 1.05e6, 4, 'Os dados que indicam que os 3 produtos que || $\bf{mais}$\n' 'venderam foram: || $\bf{pneus, \ferramentas\ e\ vasos}$.\n' '\n' 'Podemos notar no período mencionado também que as\n' 'ferramentas de jardinagem e materiais de revestimento\n' 'também possuem uma boa saída', [[CINZA2, CINZA1], [CINZA2, AZUL2], [CINZA2], [CINZA2], [CINZA2], [CINZA2]], esp = 22, ax = ax, fontsize = 10)

plt.show()

Ele me retorna um value_error, já comparei com a resposta da atividade mas não consigo identificar qual o problema e já procurei soluções também, mas até agora nada, também verifiquei a função e também não tem nenhum problema nela aparentemente.

1 resposta

Bom dia, Adriel! O erro ValueError pode estar acontecendo por alguns motivos na sua função texto_colorido. Vou listar alguns pontos que podem estar causando o problema e como resolvê-los.

1. Problema com barras invertidas (\) na string

No seu código, há um trecho com '\ferramentas\ e\ vasos', e as barras invertidas (\) podem estar sendo interpretadas como caracteres de escape inválidos.

Solução:Use dupla barra invertida (\\) ou transforme a string em raw string (r"") para evitar esse problema:

'pneus, \\ferramentas\\ e\\ vasos'

ou

r'pneus, \ferramentas\ e\ vasos'

2. Formatação da String Multilinha

A quebra de linha \n parece estar mal formatada junto com || $\bf{}``. Para corrigir, podemos usar **três aspas ("""`)** ou concatenar corretamente:

texto = ( 
    "Os dados que indicam que os 3 produtos que || $\bf{mais}$\n"
    "venderam foram: || $\bf{pneus, ferramentas e vasos}$.\n"
    "\n"
    "Podemos notar no período mencionado também que as\n"
    "ferramentas de jardinagem e materiais de revestimento\n"
    "também possuem uma boa saída"
)

3. Lista de Cores com Número de Elementos Incompatível

A função texto_colorido recebe uma lista de listas de cores, e se o número de grupos de cores não corresponder ao número de segmentos do texto, o Python pode gerar um ValueError.

Solução:Verifique se a quantidade de elementos na lista de cores corresponde ao número de partes do texto:

cores = [[CINZA2, CINZA1], [CINZA2, AZUL2], [CINZA2], [CINZA2], [CINZA2], [CINZA2]]

Código Corrigido

texto = ( 
    "Os dados que indicam que os 3 produtos que || $\bf{mais}$\n"
    "venderam foram: || $\bf{pneus, ferramentas e vasos}$.\n"
    "\n"
    "Podemos notar no período mencionado também que as\n"
    "ferramentas de jardinagem e materiais de revestimento\n"
    "também possuem uma boa saída"
)

cores = [[CINZA2, CINZA1], [CINZA2, AZUL2], [CINZA2], [CINZA2], [CINZA2], [CINZA2]]

texto_colorido(1.05e6, 4, texto, cores, esp=22, ax=ax, fontsize=10)

plt.show()

Se o erro ainda persistir, compartilhe a mensagem completa do erro para analisarmos melhor!