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

diff --git a/exercicios/para-sala/lojinha.py b/exercicios/para-sala/lojinha.py new file mode 100644 index 0000000..194a281 --- /dev/null +++ b/exercicios/para-sala/lojinha.py @@ -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()