1
resposta

textos, loops e APIs.ipynb

Optei por apagar a lista de e-mails pois ficou acima do limite.

!pip install -q groq

from groq import Groq
import os


import os
from google.colab import userdata
os.environ["GROQ_API_KEY"] = userdata.get('GROQ_API_KEY')

from groq import Groq

client = Groq()
completion = client.chat.completions.create(
    model="openai/gpt-oss-20b",
    messages=[
      {
        "role": "user",
        "content": "EM CRIE PARA MIM DUAS LISTAS, UMA LISTA COM O NOME DE 5 FRUTAS ALEATORIAS E OUTRA LISTA COM 5 VALORES DIFERENTES EM REAIS"
      }
    ],
    temperature=1,
    max_completion_tokens=8192,
    top_p=1,
    reasoning_effort="medium",
    stream=True,
    stop=None
)

for chunk in completion:
    print(chunk.choices[0].delta.content or "", end="")

valores_das_frutas = [4.99, 2.50, 3.75, 7.20, 1.25]
lista_de_frutas = ["Maçã", "Banana", "Laranja", "Kiwi", "Morango"]

for item in lista_de_frutas:
  print(item)

lista_de_compras = {"maça":4.99, "banana":2.50, "laranja":3.75, "kiwi":7.20, "morango":1.25}
for chave, valor in lista_de_compras.items():
    print(f'Chave: {chave}, Valor: {valor}')


soma = 0
for numero in range(1, 7):
  soma += numero
print(soma)

pessoa = {
    "nome": "joao lima souza",
    "idade": 35,
    "altura": 1.65
}
for chave, valor in pessoa.items():

  print(f"A (o) {chave} é {valor}")

for numero in range(1, 30):
  if numero % 3 == 0:
    print(numero)


texto1 = "   mArIa   aLeXaNdRa   sAnToS  "
texto2 = "joão   PeDrO    da sILVA    "
texto3 = "  ANNA  clara   mendes  oLIvEiRa "
texto4 = "     rIcArDo   fErReIrA      "
texto5 = "   LuCas   hEnRiQuE   dE   sOuZa   fIlHo"

def escreve_texto_corretamente1(texto):
  texto_novo1 = texto.strip().upper().replace("  ", " ")
  print(texto_novo1)


escreve_texto_corretamente1(texto1)
escreve_texto_corretamente1(texto2)

def escreve_texto_corretamente2(texto):
  texto_novo = texto.upper()
  lista_de_palavras = texto_novo.split()
  nome_final= " ".join(lista_de_palavras)

  return nome_final


escreve_texto_corretamente2(texto3)
escreve_texto_corretamente2(texto5)



lista_de_funcionarios = [texto1, texto2, texto3, texto4, texto5]

escala_de_final_de_semana = ["sabado", "domingo"]

lista_de_funcionarios2 = []

for nome in lista_de_funcionarios:
    resultado = escreve_texto_corretamente2(nome)
    lista_de_funcionarios2.append(resultado)

import random

def escolhido_para_o_trabalho(nome_do_funcionario, escala_de_final_de_semana):
  funcionario = random.choice(lista_de_funcionarios2)
  dia_da_escala = random.choice(escala_de_final_de_semana)
  
  dict_escala = {
      'nome': funcionario,
      'escala':dia_da_escala
  }
  print(dict_escala)

escolhido_para_o_trabalho(lista_de_funcionarios2, escala_de_final_de_semana)

from groq import Groq

client = Groq()
completion = client.chat.completions.create(
    model="openai/gpt-oss-20b",
    messages=[
      {
        "role": "user",
        "content": "crie 30 corpos de e-mails com assuntos aleatorios em uma lista em python, o nome da lista dever ser lista_de_emails"
      }
    ],
    temperature=1,
    max_completion_tokens=8192,
    top_p=1,
    reasoning_effort="medium",
    stream=True,
    stop=None
)

for chunk in completion:
    print(chunk.choices[0].delta.content or "", end="")

# lista_de_emails = []

def resumidor_de_emails(lista_de_emails):
    for numero, email in enumerate(lista_de_emails):

        resposta = client.chat.completions.create(
            model="openai/gpt-oss-20b",
            messages=[
                {
                    "role": "user",
                    "content": f"""Vou te mandar o corpo de um e-mail.
Resuma em apenas 1 linha explicando o intuito do e-mail.

Email:
{email}
"""
                }
            ]
        )

        resumo = resposta.choices[0].message.content

        print(f"E-mail {numero + 1}: {resumo}")
        print("-" * 150)

resumidor_de_emails(lista_de_emails)
1 resposta

Oi, Lucas! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

O seu projeto ficou bem completo. Você utilizou listas, dicionários, loops for, funções pra tratamento de textos e até integração com API utilizando o Groq. Um ponto que chama atenção é a função que organiza os nomes usando strip(), upper() e split(), pois ela resolve bem o problema de espaços extras e padronização dos dados antes de usar essas informações em outras partes do código.

Uma dica interessante para o futuro é usar o método title() para formatar nomes automaticamente, deixando a primeira letra de cada palavra em maiúscula.


texto = "joao pedro da silva"

nome_formatado = texto.strip().title()

print(nome_formatado)

Neste codigo, strip() remove espacos extras no inicio e no final da string, enquanto title() transforma o texto para o formato correto de nomes, deixando cada palavra com a primeira letra maiuscula.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!