-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
desafio dev jr #1
base: main
Are you sure you want to change the base?
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
import pandas as pd | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [suggestion] O uso do |
||
from os import path | ||
import win32com.client as win32 | ||
|
||
print(""" Acompanhamento do jogo! | ||
************************** | ||
MENU DE OPÇÕES: | ||
[1] para inserir | ||
[2] para consultar | ||
[3] para exportar em arquivo Excel | ||
[4] para encerrar""") | ||
resumo = [] | ||
cont = 0 | ||
opcao = 0 | ||
maxi = 0 | ||
mini = 1000 | ||
qmini = 0 | ||
qmaxi = 0 | ||
Comment on lines
+15
to
+18
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [suggestion] O que você acha de utilizar nomes de variáveis mais descritivos? |
||
|
||
while opcao != 4: | ||
with open('resumo_dos_jogos.xlsx', 'a+') as arquivo: | ||
arquivo = df | ||
Comment on lines
+21
to
+22
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [question] Aqui o arquivo é aberto dentro de um contexto como a variável |
||
opcao = int((input('Digite a opção desejada de acordo com o Menu:'))) | ||
if opcao == 1: | ||
cont += 1 | ||
pontuacao = int(input('Digite os pontos do último jogo')) | ||
if cont == 1: | ||
lista = [1, pontuacao, pontuacao, pontuacao, 0, 0] | ||
mini = pontuacao | ||
maxi = pontuacao | ||
resumo.append(lista) | ||
else: | ||
if pontuacao > maxi: | ||
maxi = pontuacao | ||
qmaxi += 1 | ||
if pontuacao < mini: | ||
mini = pontuacao | ||
qmini += 1 | ||
lista = [cont, pontuacao, mini, maxi, qmini, qmaxi] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [suggestion] Ao invés de trabalhar com uma lista (que pode ter muitas variações nas posições dos dados) o que você acha de utilizar um dicionário? Assim a estrutura de dados ficaria bem mais definida, evitando assim dúvidas! |
||
resumo.append(lista) | ||
|
||
pastaUsuario = path.join(path.expanduser('~')) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [suggestion] Em python, atribuímos os nomes de variáveis no estilo |
||
# print('#Gera a planilha a partir dos dados obtidos usando um dataframe e depois convertendo em excel') | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [suggestion] Já que está trabalhando com git, evite adicionar comentários de trechos de código em seus commits! |
||
df = pd.DataFrame(resumo) | ||
df.rename(columns={0: 'Jogo', | ||
1: 'Placar', | ||
2: 'Mínimo da temporada', | ||
3: 'Máximo da temporada', | ||
4: 'Quebra de recorde min.', | ||
5: 'Quebra de recorde máx' | ||
}, inplace=True) | ||
df.to_excel(pastaUsuario + '\\resumo_dos_jogos.xlsx', index=False) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [suggestion] O que você acha de ao invés de utilizar um arquivo |
||
# print('Planilha salva com sucesso no diretório - ' + pastaUsuario + '\\resumo_dos_jogos.xlsx') | ||
|
||
|
||
elif opcao == 2: | ||
dados = pd.read_excel(pastaUsuario + '\\resumo_dos_jogos.xlsx') | ||
display(dados) | ||
|
||
elif opcao == 3: | ||
# criar a integração com o outlook | ||
outlook = win32.Dispatch('outlook.application') | ||
# criar um email | ||
email = outlook.CreateItem(0) | ||
jogador = input('Digite o nome do jogador: ') | ||
assinatura = input('Digite o nome do responsável pelo envio desse email: ') | ||
anexo = pastaUsuario + '\\resumo_dos_jogos.xlsx' | ||
# "C:/Users/amand/resumo_dos_jogos.xlsx" | ||
# configurar as informações do seu e-mail | ||
email.To = "[email protected]" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [question] E se outra pessoa utilizar este módulo? O email deve continuar sendo enviado para você ou não?
Comment on lines
+62
to
+70
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [suggestion] Uma outra alternaiva seria utilizar a biblioteca nativa do python smtplib. Pois caso não possua o Outlook em sua máquina, o código não irá funcionar. |
||
email.Subject = "E-mail automático do Python" | ||
email.Attachments.Add(anexo) | ||
email.HTMLBody = f""" | ||
<p>Olá, segue o resumo de desempenho dos jogos de {jogador}.</p> | ||
<p>Abs,</p> | ||
<p>Atenciosamente, {assinatura}</p> | ||
""" | ||
email.Send() | ||
print("Email Enviado") | ||
|
||
else: | ||
print('Opção inválida. Tente novamente') | ||
print('Fim do programa. Obrigado(a). Até a próxima') | ||
|
||
"""Fazer uma lista de dicionários em que cada indice da lista é um dicionario com as respectivas chaves""" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[suggestion] O que você acha de colocar uma docstring no início do arquivo explicando como este módulo funciona?