-
Notifications
You must be signed in to change notification settings - Fork 29
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
resolução-desafio-laryssa #16
base: main
Are you sure you want to change the base?
Changes from all commits
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,138 @@ | ||
#Use o dataset dataset_casa que se encontra no material adicional no classroom e cole para o seu arquivo python - assim como fizemos em aula, se lembra? | ||
|
||
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} | ||
] | ||
|
||
#Uma opção de saída | ||
|
||
#Crie um menu que onde seja possível fazer as seguintes opções: | ||
def menu(): | ||
while True: | ||
print(" - - - - - MENU LOJINHA - - - - - ") | ||
print("1. Novo registro") | ||
print("2. Calcular receita por ano") | ||
print("3. Calcular receita geral") | ||
print("0. Sair do menu") | ||
|
||
opt = input("Escolha a opção desejada: ") | ||
print("A opção escolhida foi ", opt) | ||
|
||
if opt == "1": | ||
adicionar_registro() | ||
elif opt == "2": | ||
calcular_receita() | ||
elif opt == "3": | ||
calcular_receita_geral() | ||
elif opt == "0": | ||
print("Encerramos o programa! Volte sempre.") | ||
else: ##Adicione uma condição para caso o usuário não digite uma opção válida no menu. | ||
print("Você não selecionou nenhuma opção válida.") | ||
break | ||
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. esse break aqui está encerrando seu programa depois a execução de uma das opções do menu |
||
|
||
def adicionar_registro(): #Adicionar um novo registro , contendo todos os dados necessários, seguindo o modelo dos registros do dataset | ||
ano_receita = int(input("Digite o ano que deseja verificar: ")) | ||
mes_receita = input("Digite o mês que deseja verificar: ") | ||
faturamento = int(input("Adicione o lucro do mês correspondente: ")) | ||
despesas = int(input("Digite as despesas do mês correspondente: ")) | ||
|
||
novo_registro = { #adicionar dicionario | ||
"ano_receita": ano_receita, | ||
"mes_receita": mes_receita, | ||
"faturamento": faturamento, | ||
"despesas": despesas | ||
} | ||
|
||
print(f"O novo registro é {novo_registro}") | ||
|
||
#adicionando o novo registro na memória da lista. | ||
dataset.append(novo_registro) | ||
print(dataset) | ||
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. Tente evitar mostrar todo o dataset depois de adicionar um registro. Afinal, não sabemos quantos registros podem conter em um dataset então printa-los pode poluir a saída do terminal com dados difíceis de se ler. Uma dica: pode substituir por |
||
|
||
def calcular_receita(): #calcular receita geral do ano do usuário e também exibir qual mês teve maior lucro e qual teve maior gasto | ||
ano = int(input("Digite o ano que deseja calcular a receita: ")) | ||
valor_total = 0 | ||
maior_lucro = 0 | ||
maior_despesas = 0 | ||
mes_lucro = 0 | ||
mes_gasto = 0 | ||
|
||
#criar mais duas variaveis: dizer qual foi o mes, duas variaveis, uma pra dizer qual foi a mes que teve maior lucro e a que teve maior gasto | ||
|
||
for item in dataset: #convertendo o input pro elemento que o usuário quer verificar | ||
|
||
if ano == item.get("ano_receita"): | ||
receita = item.get("faturamento") - item.get("despesas") | ||
valor_total += receita #nos registros encontrados, calcular diferença entre lucro e gasto no ano > exibir resultado OK | ||
|
||
if maior_lucro < receita: #exibir qual foi o mês que teve mais lucro e o que teve mais despesa | ||
maior_lucro = receita # encontrando o maior lucro | ||
mes_lucro = item.get("mes_receita") # convertendo o valor do maior lucro pra encontrar o mês em que ele foi encontrado. | ||
|
||
if maior_despesas > receita: | ||
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. mas queremos apenas a maior despesa. Certo? Dessa forma está comparando com a receita e não apenas com a despesa. |
||
maior_despesas = receita | ||
mes_gasto = item.get("mes_receita") | ||
|
||
print(f"A diferença entre o lucro e o gasto do {ano} é de {valor_total}") | ||
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. na verdade é: |
||
print(f"No ano de {ano} o mês de maior lucro foi {mes_lucro} e o mês de maior despesa foi {mes_gasto}") | ||
|
||
def calcular_receita_geral(): #Mostrar qual ano teve a melhor receita e qual teve a pior | ||
|
||
ano_maior_lucro = 0 | ||
ano_menor_lucro = 0 | ||
receita_maior = 0 | ||
ano_menor_lucro = 0 | ||
ano_melhor_lucro = 0 | ||
|
||
for item in dataset: | ||
|
||
if item.get("ano_receita"): | ||
lucro_liquido = item.get("faturamento") - item.get("despesas") | ||
receita_maior += lucro_liquido | ||
|
||
if lucro_liquido > ano_maior_lucro: | ||
ano_maior_lucro = lucro_liquido | ||
ano_melhor_lucro = item.get("ano_receita") | ||
|
||
if lucro_liquido < ano_menor_lucro: | ||
ano_menor_lucro = lucro_liquido | ||
ano_pior_lucro = item.get("ano_receita") | ||
Comment on lines
+124
to
+134
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. não é exatamente assim que funciona. Mas parabéns por tentar <3 |
||
|
||
print(f"O {ano_melhor_lucro} foi o ano de maior lucro até a presente data. E o ano {ano_pior_lucro} foi o de pior lucro.") | ||
|
||
menu() |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
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(): | ||
print("------- MENU LOJINHA -------") | ||
print("Adicionar novo registro - 1") | ||
print("Calcular faturamento - 2") | ||
|
||
opt = input("Digite a opção desejada: ") | ||
print("A opção escolhida foi ", opt) | ||
|
||
if opt == "1": | ||
adicionar_registro() | ||
elif opt == "2": | ||
mostrar_receita() | ||
|
||
def mostrar_receita(): | ||
mes = input("Digite o mês que gostaria saber a receita: ") | ||
valor_total = 0 | ||
|
||
for el in dataset: | ||
mes_el = el.get("mes") | ||
if mes_el == mes: | ||
receita = el.get("lucros") - el.get("gastos") | ||
valor_total += receita | ||
|
||
print(valor_total) | ||
|
||
def adicionar_registro(): | ||
ano = int(input("Digite o ano correspondente: ")) | ||
mes = input("Digite o mês correspondente: ") | ||
lucro = int(input("Digite o lucro neste mês: ")) | ||
gastos = int(input("Digite os gastos deste mês: ")) | ||
|
||
novo_registro = { | ||
"ano": ano, | ||
"mes": mes, | ||
"lucro": lucro, | ||
"gastos": gastos | ||
} | ||
|
||
dataset.append(novo_registro) | ||
|
||
print(dataset) | ||
|
||
menu() |
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.
acho que precisa ter um break aqui para encerrar o programa