- 1% Melhor a Cada Dia
- Posts
- Como fiz um programa em Python sem saber uma linha de código com o ChatGPT
Como fiz um programa em Python sem saber uma linha de código com o ChatGPT
Estou cada vez mais impressionado com o poder de atuação do ChatGPT
Não sei como é a sua vida, mas a minha é bem corrida e movimentada, moro em São Paulo, trabalho mais de 10h por dia, não tenho preguiça de trabalhar e quanto mais trabalho pra mim melhor, mas tem uma coisa que me incomoda, fazer tarefas operacionais.
Eu gosto de fazer tarefas que precisam de criatividade, resolver problemas, estratégia, mas como todo trabalho sempre tem um "CornoJob” que temos que encarar.
Para essas tarefas eu tento automatizar ao máximo para facilitar o meu dia e ter mais tempo para fazer atividades que mais gosto.
O "problema”
Com o advento dessa plataforma, eu fico diariamente testando a Inteligência Artificial e analisando como ela pode me ajudar no dia a dia.
Fiz um artigo aqui mostrando como colocar Como usar o ChatGPT com a Siri no iPhone
E também já utilizei o ChatGPT para escrever histórias de negócio, ter ideias de artigos para postar, fazer uma página de vendas, escrever um e-mail e muitas outras coisas incríveis.
Hoje me deparei com uma atividade que faço todo início de sprint que é listar as pessoas que vão puxar a Daily (reunião diária de 15min com todo o time) nos próximos 15 dias.
Eu fazia esse processo no Excel:
Listava as pessoas do time
Em uma coluna o nome e na outra data do primeiro dia da sprint
Arrastava o dia para os demais nomes
Porém depois tinha que ficar tratando os dados, pois o excel não reconhece os finais de semana.
Automatizando uma tarefa sem saber codificar
Resolvi testar o ChatGPT para que ele escrevesse um programa para mim em Python para que sorteasse os nomes para mim.
Dei a primeira instrução:
E ele me retornou o seguinte código:
import random# Lista de nomesnomes = ['Ana', 'Bruno', 'Carla', 'Daniel', 'Eduarda', 'Felipe', 'Gabriela', 'Henrique', 'Isabel', 'João']# Loop para realizar o sorteio 15 vezesfor i in range(15): random.shuffle(nomes) print(f'Sorteio {i+1}: {nomes}')
Rodei o código e o resultado foi o seguinte:
Porém não precisava gerar uma sequência aleatória de nomes preciso de apenas um nome por dia.
E o resultado foi:
import random# Lista de nomesnomes = ['Ana', 'Bruno', 'Carla', 'Daniel', 'Eduarda', 'Felipe', 'Gabriela', 'Henrique', 'Isabel', 'João']# Loop para realizar o sorteio 15 vezesfor i in range(15): nome_sorteado = random.choice(nomes) print(f'Sorteio {i+1}: {nome_sorteado}')
Rodei novamente
Já melhorou, mas pensei que poderia ficar bem melhor! Poderia já definir os dias de início e fim da Sprint para já apresentar o dia em que cada um deve fazer a Daily.
E me retornou:
import randomfrom datetime import datetime, timedelta# Lista de nomesnomes = ['Ana', 'Bruno', 'Carla', 'Daniel', 'Eduarda', 'Felipe', 'Gabriela', 'Henrique', 'Isabel', 'João']# Leitura das datas de início e fim do sorteiodata_inicio_str = input('Informe a data de início do sorteio (no formato dd/mm/aaaa): ')data_inicio = datetime.strptime(data_inicio_str, '%d/%m/%Y')data_fim_str = input('Informe a data de fim do sorteio (no formato dd/mm/aaaa): ')data_fim = datetime.strptime(data_fim_str, '%d/%m/%Y')# Loop para realizar o sorteio em dias úteisi = 1while data_inicio <= data_fim: if data_inicio.weekday() < 5: # dia útil (de segunda a sexta-feira) nome_sorteado = random.choice(nomes) print(f'Sorteio {i}: {nome_sorteado} - Data: {data_inicio.strftime("%d/%m/%Y")}') i += 1 data_inicio += timedelta(days=1)
Rodando o código novamente:
Quase perfeito! Só notei que ainda podia melhorar mais uma coisa, teve dias em que uma mesma pessoa foi sorteada dois dias consecutivos, então…
e retornou o seguinte código:
import randomfrom datetime import datetime, timedelta# Lista de nomesnomes = ['Ana', 'Bruno', 'Carla', 'Daniel', 'Eduarda', 'Felipe', 'Gabriela', 'Henrique', 'Isabel', 'João']# Leitura das datas de início e fim do sorteiodata_inicio_str = input('Informe a data de início do sorteio (no formato dd/mm/aaaa): ')data_inicio = datetime.strptime(data_inicio_str, '%d/%m/%Y')data_fim_str = input('Informe a data de fim do sorteio (no formato dd/mm/aaaa): ')data_fim = datetime.strptime(data_fim_str, '%d/%m/%Y')# Sorteio do primeiro nomenome_sorteado = random.choice(nomes)i = 1print(f'Sorteio {i}: {nome_sorteado} - Data: {data_inicio.strftime("%d/%m/%Y")}')i += 1data_atual = data_inicio + timedelta(days=1)nome_anterior = nome_sorteado# Loop para realizar o sorteio em dias úteis e sem repetir nome em dias consecutivoswhile data_atual <= data_fim: if data_atual.weekday() < 5: # dia útil (de segunda a sexta-feira) nome_sorteado = random.choice([nome for nome in nomes if nome != nome_anterior]) print(f'Sorteio {i}: {nome_sorteado} - Data: {data_atual.strftime("%d/%m/%Y")}') i += 1 nome_anterior = nome_sorteado data_atual += timedelta(days=1)
rodando novamente:
Pronto! agora não repetiu mais a mesma pessoa em dias consecutivos, tenho a lista de nomes e também a data em que cada um vai realizar a reunião ainda considerando apenas dias úteis de trabalho.
Agora posso gerar essa lista apenas informando as datas de início e fim da sprint e apertar um botão.
Mais um tarefa automatizada!
É uma tarefa simples, mas fiquei impressionado!
Claro, essa tarefa é bem simples, mas imaginar que foi um próprio computador que gerou e em que apenas eu dei alguns comandos, sem saber nenhuma linha de código.
Isso pra mim é um absurdo e acredito que a IA tem potencial para fazer muita coisa para facilitar nosso dia a dia, trabalho, tarefas, pesquisa.
Eu ainda estou apenas descobrindo esse mundo, que me interessa muito em aprender cada vez mais.
Vou compartilhando aqui com vocês as coisas legais que for aprendendo.
Você já utilizou o ChatGPT? Em qual cenário e situação?
Reply