Skip to content
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

Atividade S05 - Ana Paula #3

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions exercicios/para-casa/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,25 @@
Aqui vão as instruções do que fazer para arrasar no seu desafio:


1. [ ] Use o dataset <b>dataset_casa</b> que se encontra no material adicional no classroom ou [no arquivo da pasta material](../../material/dataset_casa.py) e cole para o seu arquivo python - <b>assim como fizemos em aula, se lembra?</b>
2. [ ] Crie um menu que onde seja possível fazer as seguintes opções:
- [ ] Adicionar um novo registro , contendo todos os dados necessários, <b>seguindo o modelo dos registros do dataset</b>
- [ ] Calcular a receita do ano escolhido pelo usuário
- [ ] Exibir também qual foi o mês que teve mais lucro e o que teve mais despesa
- [ ] Mostrar qual ano teve a melhor receita e qual teve a pior
- [ ] Uma opção de saída
3. [ ] Adicione uma condição para caso o usuário não digite uma opção válida no menu.
1. [x] Use o dataset <b>dataset_casa</b> que se encontra no material adicional no classroom ou [no arquivo da pasta material](../../material/dataset_casa.py) e cole para o seu arquivo python - <b>assim como fizemos em aula, se lembra?</b>
2. [x] Crie um menu que onde seja possível fazer as seguintes opções:
- [x] Adicionar um novo registro , contendo todos os dados necessários, <b>seguindo o modelo dos registros do dataset</b>
- [x] Calcular a receita do ano escolhido pelo usuário
- [x] Exibir também qual foi o mês que teve mais lucro e o que teve mais despesa
- [x] Mostrar qual ano teve a melhor receita e qual teve a pior
- [x] Uma opção de saída
3. [x] Adicione uma condição para caso o usuário não digite uma opção válida no menu.

Boa sorte!

---

Terminou o exercício? Dá uma olhada nessa checklist e confere se tá tudo certinho, combinado?!

- [ ] Fiz o fork do repositório.
- [ ] Clonei o fork na minha máquina (`git clone url-do-meu-fork`).
- [ ] Resolvi o exercício.
- [ ] Adicionei as mudanças. (`git add .` para adicionar todos os arquivos, ou `git add nome_do_arquivo` para adicionar um arquivo específico)
- [ ] Commitei a cada mudança significativa ou na finalização do exercício (`git commit -m "Mensagem do commit"`)
- [ ] Pushei os commits na minha branch (`git push origin nome-da-branch`)
- [ ] Criei um Pull Request seguindo as orientaçoes que estao nesse [documento](https://github.com/mflilian/repo-example/blob/main/exercicios/para-casa/instrucoes-pull-request.md).
- [x] Fiz o fork do repositório.
- [x] Clonei o fork na minha máquina (`git clone url-do-meu-fork`).
- [x] Resolvi o exercício.
- [x] Adicionei as mudanças. (`git add .` para adicionar todos os arquivos, ou `git add nome_do_arquivo` para adicionar um arquivo específico)
- [x] Commitei a cada mudança significativa ou na finalização do exercício (`git commit -m "Mensagem do commit"`)
- [x] Pushei os commits na minha branch (`git push origin nome-da-branch`)
- [x] Criei um Pull Request seguindo as orientaçoes que estao nesse [documento](https://github.com/mflilian/repo-example/blob/main/exercicios/para-casa/instrucoes-pull-request.md).
166 changes: 166 additions & 0 deletions exercicios/para-casa/desafio.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
dataset = [
{'ano_receita': 2022, 'mes_receita': '1',
'faturamento': 49179, 'despesas': 6295},
{'ano_receita': 2022, 'mes_receita': '2',
'faturamento': 12018, 'despesas': 43329},
{'ano_receita': 2022, 'mes_receita': '3',
'faturamento': 23524, 'despesas': 49376},
{'ano_receita': 2022, 'mes_receita': '4',
'faturamento': 29615, 'despesas': 16973},
{'ano_receita': 2022, 'mes_receita': '5',
'faturamento': 26527, 'despesas': 43742},
{'ano_receita': 2022, 'mes_receita': '6',
'faturamento': 48400, 'despesas': 11447},
{'ano_receita': 2022, 'mes_receita': '7',
'faturamento': 27219, 'despesas': 25593},
{'ano_receita': 2022, 'mes_receita': '8',
'faturamento': 46787, 'despesas': 19018},
{'ano_receita': 2022, 'mes_receita': '9',
'faturamento': 32306, 'despesas': 13522},
{'ano_receita': 2022, 'mes_receita': '10',
'faturamento': 27106, 'despesas': 15969},
{'ano_receita': 2022, 'mes_receita': '11',
'faturamento': 15255, 'despesas': 20105},
{'ano_receita': 2022, 'mes_receita': '12',
'faturamento': 23864, 'despesas': 32509},
{'ano_receita': 2023, 'mes_receita': '1',
'faturamento': 47240, 'despesas': 55776},
{'ano_receita': 2023, 'mes_receita': '2',
'faturamento': 42771, 'despesas': 36819},
{'ano_receita': 2023, 'mes_receita': '3',
'faturamento': 18008, 'despesas': 35853},
{'ano_receita': 2023, 'mes_receita': '4',
'faturamento': 21857, 'despesas': 6940},
{'ano_receita': 2023, 'mes_receita': '5',
'faturamento': 29735, 'despesas': 59626},
{'ano_receita': 2023, 'mes_receita': '6',
'faturamento': 33704, 'despesas': 30072},
{'ano_receita': 2023, 'mes_receita': '7',
'faturamento': 26515, 'despesas': 12129},
{'ano_receita': 2023, 'mes_receita': '8',
'faturamento': 18149, 'despesas': 21663},
{'ano_receita': 2023, 'mes_receita': '9',
'faturamento': 46176, 'despesas': 12564},
{'ano_receita': 2023, 'mes_receita': '10',
'faturamento': 24649, 'despesas': 58127},
{'ano_receita': 2023, 'mes_receita': '11',
'faturamento': 44484, 'despesas': 5304},
{'ano_receita': 2023, 'mes_receita': '12',
'faturamento': 30840, 'despesas': 5055},
{'ano_receita': 2024, 'mes_receita': '1',
'faturamento': 28726, 'despesas': 25133},
{'ano_receita': 2024, 'mes_receita': '2',
'faturamento': 34962, 'despesas': 26537},
{'ano_receita': 2024, 'mes_receita': '3',
'faturamento': 49424, 'despesas': 29649},
{'ano_receita': 2024, 'mes_receita': '4',
'faturamento': 42698, 'despesas': 54170},
{'ano_receita': 2024, 'mes_receita': '5',
'faturamento': 37237, 'despesas': 48453},
{'ano_receita': 2024, 'mes_receita': '6',
'faturamento': 30665, 'despesas': 8782},
{'ano_receita': 2024, 'mes_receita': '7',
'faturamento': 39597, 'despesas': 12261},
{'ano_receita': 2024, 'mes_receita': '8',
'faturamento': 49326, 'despesas': 18862},
{'ano_receita': 2024, 'mes_receita': '9',
'faturamento': 19043, 'despesas': 48517},
{'ano_receita': 2024, 'mes_receita': '10',
'faturamento': 24464, 'despesas': 24215},
{'ano_receita': 2024, 'mes_receita': '11',
'faturamento': 11635, 'despesas': 8190},
{'ano_receita': 2024, 'mes_receita': '12',
'faturamento': 39303, 'despesas': 14418}
]


def menu():
while True:
print("--------MENU--------")
print("Adicionar novo registro - 1")
print("Calcular a receita do ano - 2")
print("Analise anual - 3")
print("Sair - 0")
opt = input("Escolha a opção desejada: ")

if opt != "1" and opt != "2" and opt != "0" and opt != "3":
print("Digite uma opção válida.")
continue

if opt == "1":
adicionar_registro()
elif opt == "2":
receita_ano()
elif opt == "3":
analise_ano()
elif opt == "0":
break


def adicionar_registro():
ano = int(input("Digite o ano correspondente: "))
mes = input("Digite o mês correspondente: ")
faturamento = float(input("Digite o luco do mês correspondente: "))
despesas = float(input("Digite os gastos do mês correspondete: "))
Comment on lines +103 to +104
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cuidado para não usar um tipo diferente do que está no dataset


novo_registro = {
"ano_receita": ano,
"mes_receita": mes,
"faturamento": faturamento,
"despesas": despesas
}
dataset.append(novo_registro)
print(dataset)


def receita_ano():
ano = int(input("Digite o ano desejado: "))
valor_total = 0
maior_lucro = 0
maior_despesa = 0
mes_lucro = 0
mes_despesa = 0

for el in dataset:
ano_el = el.get("ano_receita")
if ano_el == ano:
receita = el.get("faturamento") - el.get("despesas")
valor_total += receita

if receita > maior_lucro:
maior_lucro = receita
mes_lucro = el.get("mes_receita")

if el.get("despesas") > maior_despesa:
maior_despesa = el.get("despesas")
mes_despesa = el.get("mes_receita")
Comment on lines +134 to +136
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🥇


print(f"No ano escolhido, a soma das suas receitas é: {valor_total}")
print(f"O mês {mes_lucro}, foi o que teve mais lucro no ano.")
print(f"O mês {mes_despesa}, foi o qual se teve maior despesa no ano.")


def analise_ano():
melhor_ano = 0
pior_ano = 0
melhor_receita = 0
pior_receita = 0

for el in dataset:
ano = el.get("ano_receita")
receita = el.get("faturamento") - el.get("despesas")

if receita > melhor_receita:
melhor_receita = receita
melhor_ano = ano

if receita < pior_receita:
pior_receita = receita
pior_ano = ano
Comment on lines +149 to +159
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

conferiu se os dados estão certos?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tinha conferido, mas rodei agr novamente e não está dando o mesmo resultado D:
Vou verificar oq aconteceu e ajeitar o código.


print(f"Sua melhor receita foi de {melhor_receita} no ano {melhor_ano}")
print(f"Sua pior receita foi de {pior_receita}, no ano de {pior_ano}")


menu()
print("Fim do programa")
4 changes: 2 additions & 2 deletions exercicios/para-sala/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ Na lojinha do Sr. Miyagi, ele armazena o faturamento e os custos mensais manualm
Para ajudar-lo, ele nos pediu para que a gente criasse um pequeno programa em python que fosse capaz de calcular a receita de acordo com um mês. Vamos ajuda-lo?


- [ ] Criar o menu para que o Sr. Miyagi consiga interagir e indicar o mês em que ele quer saber o faturamento
- [x] Criar o menu para que o Sr. Miyagi consiga interagir e indicar o mês em que ele quer saber o faturamento
- [ ] Criar a função de calcular a receita do mês que o Sr. Miyagi escolheu
- [ ] Criar uma função que permita ao Sr. Miyagi introduzir um novo registro
- [x] Criar uma função que permita ao Sr. Miyagi introduzir um novo registro
- [ ] Analisar se existe melhorias que podem ser feitas pensando na felicidade do Sr. Miyagi

<h1 align="center">
Expand Down
107 changes: 107 additions & 0 deletions exercicios/para-sala/lojinha.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
dataset = [
{'ano': 2022, 'mes': '1', 'lucro': 21003, 'gastos': 18600},
{'ano': 2022, 'mes': '2', 'lucro': 31717, 'gastos': 54851},
{'ano': 2022, 'mes': '3', 'lucro': 12571, 'gastos': 44701},
{'ano': 2022, 'mes': '4', 'lucro': 23775, 'gastos': 51092},
{'ano': 2022, 'mes': '5', 'lucro': 13251, 'gastos': 15321},
{'ano': 2022, 'mes': '6', 'lucro': 44903, 'gastos': 47597},
{'ano': 2022, 'mes': '7', 'lucro': 15476, 'gastos': 54529},
{'ano': 2022, 'mes': '8', 'lucro': 27346, 'gastos': 15365},
{'ano': 2022, 'mes': '9', 'lucro': 21968, 'gastos': 22234},
{'ano': 2022, 'mes': '10', 'lucro': 48833, 'gastos': 54157},
{'ano': 2022, 'mes': '11', 'lucro': 23418, 'gastos': 22423},
{'ano': 2022, 'mes': '12', 'lucro': 38790, 'gastos': 26672},
{'ano': 2023, 'mes': '1', 'lucro': 48187, 'gastos': 11384},
{'ano': 2023, 'mes': '2', 'lucro': 16137, 'gastos': 49848},
{'ano': 2023, 'mes': '3', 'lucro': 35136, 'gastos': 58523},
{'ano': 2023, 'mes': '4', 'lucro': 48703, 'gastos': 15792},
{'ano': 2023, 'mes': '5', 'lucro': 28860, 'gastos': 33990},
{'ano': 2023, 'mes': '6', 'lucro': 16293, 'gastos': 11151},
{'ano': 2023, 'mes': '7', 'lucro': 10136, 'gastos': 23093},
{'ano': 2023, 'mes': '8', 'lucro': 11298, 'gastos': 27107},
{'ano': 2023, 'mes': '9', 'lucro': 32300, 'gastos': 26678},
{'ano': 2023, 'mes': '10', 'lucro': 16655, 'gastos': 29369},
{'ano': 2023, 'mes': '11', 'lucro': 43447, 'gastos': 44161},
{'ano': 2023, 'mes': '12', 'lucro': 22841, 'gastos': 36748},
{'ano': 2024, 'mes': '1', 'lucro': 41066, 'gastos': 34235},
{'ano': 2024, 'mes': '2', 'lucro': 38245, 'gastos': 24730},
{'ano': 2024, 'mes': '3', 'lucro': 41615, 'gastos': 10681},
{'ano': 2024, 'mes': '4', 'lucro': 44559, 'gastos': 14573},
{'ano': 2024, 'mes': '5', 'lucro': 18150, 'gastos': 7673},
{'ano': 2024, 'mes': '6', 'lucro': 10824, 'gastos': 12598},
{'ano': 2024, 'mes': '7', 'lucro': 11844, 'gastos': 58096},
{'ano': 2024, 'mes': '8', 'lucro': 38085, 'gastos': 20842},
{'ano': 2024, 'mes': '9', 'lucro': 35128, 'gastos': 21076},
{'ano': 2024, 'mes': '10', 'lucro': 42366, 'gastos': 24859},
{'ano': 2024, 'mes': '11', 'lucro': 19202, 'gastos': 41544},
{'ano': 2024, 'mes': '12', 'lucro': 25698, 'gastos': 51182},
]


def menu():
while True:
print("--------MENU LOJINHA--------")
print("Adicionar novo registro - 1")
print("Calcular o faturamento do mes - 2")
print("Sair - 0")
opt = input("Escolha a opção desejada: ")

if opt != "1" and opt != "2" and opt != "0":
print("Digite uma opção válida.")
continue

if opt == "1":
adicionar_registro()
elif opt == "2":
mostrar_receita()
elif opt == "0":
break


def adicionar_registro():
ano = int(input("Digite o ano correspondente: "))
mes = int(input("Digite o mês correspondente: "))
lucro = float(input("Digite o luco do mês correspondente: "))
gastos = float(input("Digite os gastos do mês correspondete: "))

novo_registro = {
"ano": ano,
"mes": mes,
"lucro": lucro,
"gastos": gastos
}
dataset.append(novo_registro)
print(dataset)


def mostrar_receita():
mes = input("Digite o mês desejado: ")
valor_total = 0
receita_maior = 0
ano_maior = 0
receita_menor = 0
ano_menor = 0

for el in dataset:
mes_el = el.get("mes")

if mes_el == mes:
receita = el.get("lucro") - el.get("gastos")
valor_total += receita

if receita > receita_maior:
receita_maior = receita
ano_maior = el.get("ano")

if receita < receita_menor:
receita_menor = receita
ano_menor = el.get("ano")

print(f"A soma das suas receitas é: {valor_total}")
print(f"O ano {ano_maior} foi o ano mais lucrativo desse mês, e o valor foi {
receita_maior}")
print(f"O ano {ano_menor} foi o ano menos lucrativo desse mês, e o valor foi {
receita_menor}")


menu()