diff --git a/exercicios/para-casa/README.md b/exercicios/para-casa/README.md index d1da632..0fa9e78 100644 --- a/exercicios/para-casa/README.md +++ b/exercicios/para-casa/README.md @@ -7,14 +7,14 @@ Aqui vão as instruções do que fazer para arrasar no seu desafio: -1. [ ] Use o dataset dataset_casa 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 - assim como fizemos em aula, se lembra? -2. [ ] Crie um menu que onde seja possível fazer as seguintes opções: - - [ ] Adicionar um novo registro , contendo todos os dados necessários, seguindo o modelo dos registros do dataset - - [ ] 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 dataset_casa 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 - assim como fizemos em aula, se lembra? +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, seguindo o modelo dos registros do dataset + - [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! @@ -22,10 +22,10 @@ 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). diff --git a/exercicios/para-casa/desafio.py b/exercicios/para-casa/desafio.py new file mode 100644 index 0000000..39b20b8 --- /dev/null +++ b/exercicios/para-casa/desafio.py @@ -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: ")) + + 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") + + 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 + + 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") diff --git a/exercicios/para-sala/README.md b/exercicios/para-sala/README.md index 77c66f0..c2777a5 100644 --- a/exercicios/para-sala/README.md +++ b/exercicios/para-sala/README.md @@ -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