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

Secao 03 exercicios #10

Open
wants to merge 29 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
598c689
Faltam 4 exercicios para terminar a seção 2
lukemariano Jun 1, 2022
dfff64d
eita
lukemariano Jun 1, 2022
d98e41f
testando
lukemariano Jun 1, 2022
950a3de
teste pf Deus
lukemariano Jun 1, 2022
72977e2
testando push
lukemariano Jun 1, 2022
3a99433
alterações
lukemariano Jun 1, 2022
6097df3
feito ex 25 secao 02
lukemariano Jun 1, 2022
9137b10
exercicio 26 secao 2 resolvido
lukemariano Jun 2, 2022
2ec0d02
exercicio 27 seção 2
lukemariano Jun 2, 2022
eaf5936
Seção 02 finalizada - exercicios resolvidos
lukemariano Jun 2, 2022
b8361d4
code ex 28 seção 02 corrigido
lukemariano Jun 2, 2022
4d2cab2
alterações realizadas
lukemariano Jun 3, 2022
6383705
exercicio 1 seção 3 completo
lukemariano Jun 3, 2022
630a54c
Merge remote-tracking branch 'origin/main' into Secao_03
lukemariano Jun 3, 2022
1ac09fa
Merge branch 'devpro-br:main' into Secao_03
lukemariano Jun 3, 2022
6211af1
Exercicio 02 resolvido
lukemariano Jun 3, 2022
52e604b
Merge branch 'Secao_03' of github.com:lukemariano/lista-de-exercicios…
lukemariano Jun 3, 2022
3dca320
Exercicio 03 resolvido
lukemariano Jun 3, 2022
6ca7f7e
lista 03 resolvida até o exercicio 11
lukemariano Jun 7, 2022
0ea6c17
Merge remote-tracking branch 'upstream/main' into Secao_03
lukemariano Jun 7, 2022
8e085d5
Exercicios resolvidos ate o ex20
lukemariano Jun 8, 2022
efea7b4
atualizando branch
lukemariano Jun 9, 2022
2fa53f2
Merge remote-tracking branch 'upstream/main' into Secao_03
lukemariano Jun 9, 2022
ec34b76
lista resolvida até ex30
lukemariano Jun 13, 2022
d4460cf
Restam 9 exercicios para finalizar a lista 3
lukemariano Jun 14, 2022
08b1f67
Faltam duas questões para finalizar a lista 03 de repetição
lukemariano Jun 15, 2022
27f45ad
Seção 03 Lista de repetição - FINALIZADA
lukemariano Jun 15, 2022
a083e22
Merge branch 'main' into Secao_03
lukemariano Jun 15, 2022
aeec7aa
Merge branch 'main' into Secao_03
lukemariano Jun 26, 2022
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
23 changes: 23 additions & 0 deletions secao_02_estrutura_de_decisao/ex_16_equacao_segundo_grau.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,29 @@

def resolver_equacao_do_segundo_grau(a: float, b: float, c: float):
"""Escreva aqui em baixo a sua solução"""
import math
#passo 1: calcular delta com --> delta = b*b - (4*a*c)
delta = b*b - (4*a*c)
#passo 2: Se o usuário informar o valor de A igual a zero, a equação não é do segundo grau e o programa não deve fazer pedir os demais valores, sendo encerrado;
#função: print('Valor do coeficiente a deve ser diferente de 0')
if a == 0:
print("'Valor do coeficiente a deve ser diferente de 0'")

#passo 3: Se o delta calculado for negativo, a equação não possui raizes reais. Informe ao usuário e encerre o programa;
elif delta < 0:
print(f"'Delta negativo ({delta}), por isso não existem raízes reais'")
#passo 4: Se o delta calculado for igual a zero a equação possui apenas uma raiz real; informe-a ao usuário;
elif delta == 0:
raiz = (-b + math.sqrt(delta) ) / 2*a
print(f"'Delta é {delta}, raíz única no valor de {raiz:.1f}'")
#passo 5: Se o delta for positivo, a equação possui duas raiz reais; informe-as ao usuário.
elif delta > 0:
raiz = (-b + math.sqrt(delta) ) / 2*a
raiz2 = (-b - math.sqrt(delta) ) / 2*a
print(f"'Delta é {delta}, raízes são {raiz:.1f} e {raiz2:.1f}'")






Expand Down
6 changes: 6 additions & 0 deletions secao_02_estrutura_de_decisao/ex_17_ano_bissexto.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,9 @@

def eh_ano_bissexto(ano: int):
"""Escreva aqui em baixo a sua solução"""
#passo 1: descobrir se ano / 4 tem o resto 0 ou se é multiplo de 400; se tiver, então o ano é bissexto
if (ano % 4 == 0 and ano % 100 != 0) or (ano % 400 == 0):
print(True)
#passo 2: se não entrar nas condições acima, é falso
else:
print(False)
6 changes: 6 additions & 0 deletions secao_02_estrutura_de_decisao/ex_18_validador_de_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,9 @@

def validar_data(data: str):
"""Escreva aqui em baixo a sua solução"""
from datetime import datetime
try:
datetime.strptime(data.strip(), '%d/%m/%Y')
print("""'Data válida'""")
except ValueError:
print("'Data inválida'")
47 changes: 47 additions & 0 deletions secao_02_estrutura_de_decisao/ex_19_decomposicao_de_numero.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,50 @@

def decompor_numero(numero: int):
"""Escreva aqui em baixo a sua solução"""
numero_final = numero
centenas_str = dezenas_str = unidade_str = ''
centenas_int, numero = divmod(numero, 100)
partes_numeros = 0

if centenas_int == 1:
centenas_str = '1 centena'
partes_numeros += 1
elif centenas_int > 1:
centenas_str = f'{centenas_int} centenas'
partes_numeros += 1

dezenas_int, numero = divmod(numero, 10)

if dezenas_int == 1:
dezenas_str = '1 dezena'
partes_numeros += 1
elif dezenas_int > 1:
dezenas_str = f'{dezenas_int} dezenas'
partes_numeros += 1

if numero == 1:
unidade_str = '1 unidade'
partes_numeros += 1
elif numero > 1:
unidade_str = f'{numero} unidades'
partes_numeros += 1

if numero_final <= 0:
print("""'O número precisa ser positivo'""")
elif numero_final >= 1000:
print("""'O número precisa ser menor que 1000'""")
elif partes_numeros == 1:
if centenas_str != '':
print(f"""'{numero_final} = {centenas_str}'""")
elif dezenas_str != '':
print(f"""'{numero_final} = {dezenas_str}'""")
elif unidade_str != '':
print(f"""'{numero_final} = {unidade_str}'""")
elif partes_numeros == 3:
print(f"""'{numero_final} = {centenas_str}, {dezenas_str} e {unidade_str}'""")
elif partes_numeros == 2:
if centenas_str != '':
segunda_parte = dezenas_str + unidade_str
print(f"""'{numero_final} = {centenas_str} e {segunda_parte}'""")
else:
print(f"""'{numero_final} = {dezenas_str} e {unidade_str}'""")
11 changes: 11 additions & 0 deletions secao_02_estrutura_de_decisao/ex_20_3_notas_parciais.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,14 @@

def calcular_status(nota_1, nota_2, nota_3):
"""Escreva aqui em baixo a sua solução"""
media = (nota_1 + nota_2 + nota_3)/3
aprovado = "'Aprovado'"
aprovado_10 = "'Aprovado com Distinção'"
reprovado = "'Reprovado'"
if media >= 7 and media < 10:
print(aprovado)
elif media < 7:
print(reprovado)
elif media == 10:
print(aprovado_10)

78 changes: 78 additions & 0 deletions secao_02_estrutura_de_decisao/ex_21_troco.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,81 @@

def calcular_troco(valor: int) -> str:
"""Escreva aqui em baixo a sua solução"""
#informar quantas notas de cada valor serão fornecidas.
#valores: As notas disponíveis serão as de 1, 5, 10, 50 e 100 reais.
#exemplo: Exemplo 1: Para sacar a quantia de 256 reais, o programa fornece duas notas de 100, uma nota de 50, uma nota de 5 e umanota de 1;
#var:
saque = valor
notas_de_100 = notas_de_50 = notas_de_10 = notas_de_5 = notas_de_1 = 0
notas_de_100, saque = divmod(saque, 100)
notas_de_50, saque = divmod(saque, 50)
notas_de_10, saque = divmod(saque, 10)
notas_de_5, notas_de_1 = divmod(saque, 5)
parte = 0
#condições:
print("'",end="")
if notas_de_100 == 1:
print(f"{notas_de_100} nota de R$ 100",end="")
parte += 1
elif notas_de_100 > 1:
print(f"{notas_de_100} notas de R$ 100",end="")
parte += 1
if notas_de_50 != 0 and parte == 1:
print(",",end=" ")
if notas_de_50 == 1:
print(f"{notas_de_50} nota de R$ 50",end="")
parte += 1
elif notas_de_50 > 1:
print(f"{notas_de_50} notas de R$ 50",end="")
parte += 1
if parte != 0 and notas_de_10 != 0:
print(",",end=" ")
if notas_de_10 == 1:
print(f"{notas_de_10} nota de R$ 10",end="")
parte += 1
elif notas_de_10 > 1:
print(f"{notas_de_10} notas de R$ 10",end="")
parte += 1
if parte != 0 and notas_de_5 != 0:
print(",",end=" ")
if notas_de_5 == 1:
print(f"{notas_de_5} nota de R$ 5",end="")
parte += 1
elif notas_de_5 > 1:
print(f"{notas_de_5} notas de R$ 5",end="")
parte += 1
if parte != 0 and notas_de_1 != 0:
print(" e",end=" ")
if notas_de_1 == 1:
print(f"{notas_de_1} nota de R$ 1",end="")
elif notas_de_10 > 1:
print(f"{notas_de_1} notas de R$ 1",end="")
print("'")

# if notas_de_100 > 0:
# print(f"{notas_de_100} notas de R$ 100",end=", ")
# if notas_de_50 > 0:
# print(f"{notas_de_50} notas de R$ 50",end=", ")
# if notas_de_10 > 0:
# print(f"{notas_de_10} notas de R$ 10",end=", ")
# if notas_de_5 > 0:
# print(f"{notas_de_5} notas de R$ 5",end=", ")
# if notas_de_1 > 0:
# print(f"{notas_de_1} e notas de R$ 1")










# tipos_de_notas = [1, 5, 10, 50, 100]
# pedacos=[]
# resto = valor
# while resto > 0:
# tipo_de_nota = tipos_de_notas.pop()
# if len(pedacos)==1:
# return pedacos.pop()
9 changes: 9 additions & 0 deletions secao_02_estrutura_de_decisao/ex_22_par_ou_impar.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,12 @@

def decidir_se_eh_par_ou_impar(valor: int) -> str:
"""Escreva aqui em baixo a sua solução"""
#1º passo: encontrar o resto da operação
resto = valor % 2
#2º passo: se resto for igual a zero, então o valor digitado é par:
if resto == 0:
print("'Par'")
#3º passp: se não é ímpar:
else:
print("'Impar'")

8 changes: 8 additions & 0 deletions secao_02_estrutura_de_decisao/ex_23_inteiro_ou_decimal.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,11 @@

def decidir_se_eh_inteiro_ou_decimal(valor: str) -> str:
"""Escreva aqui em baixo a sua solução"""
#converter valor de str para float:
valor_float = float(valor)
#se um número for igual a seu arredondamento, então é inteiro:
if valor_float == round(valor_float):
print("'Inteiro'")
#se não, é decimal:
else:
print("'Decimal'")
40 changes: 40 additions & 0 deletions secao_02_estrutura_de_decisao/ex_24_operacao.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,43 @@

def fazer_operacao_e_classificar(n_1: float, n_2: float, operacao: str):
"""Escreva aqui em baixo a sua solução"""
resultado = 0
impar_ou_par = ""
positivo_negativo_neutro = ""
inteiro_decimal = ""
#definir condições paras as operações
if operacao == "+":
resultado = n_1 + n_2
elif operacao == "-":
resultado = n_1 - n_2
elif operacao == "*" :
resultado = n_1 * n_2
elif operacao == "/":
resultado = n_1 / n_2

#definindo se o número é positivo, negativo ou neutro:
if resultado > 0:
positivo_negativo_neutro = "positivo"
elif resultado < 0:
positivo_negativo_neutro = "negativo"
elif resultado == 0:
positivo_negativo_neutro = "neutro"

#definindo se o número é inteiro ou decimal:
if resultado == round(resultado):
inteiro_decimal = "inteiro"
else:
inteiro_decimal = "decimal"

#definindo se o número é impar ou par
if resultado % 2 == 0 and inteiro_decimal == "inteiro":
impar_ou_par = "par, "
elif resultado % 2 != 0 and inteiro_decimal == "inteiro":
impar_ou_par = "impar, "

#exibindo resultados:
print(f"Resultado: {resultado:.2f}")
print(f"Número é {impar_ou_par}{positivo_negativo_neutro} e {inteiro_decimal}.")



20 changes: 20 additions & 0 deletions secao_02_estrutura_de_decisao/ex_25_sherlock.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,23 @@

def investigar(telefonou: str, estava_no_local: str, mora_perto: str, devia: str, trabalhou: str, ):
"""Escreva aqui em baixo a sua solução"""
sim = 0
if telefonou == "Sim":
sim += 1
if estava_no_local == "Sim":
sim += 1
if mora_perto == "Sim":
sim += 1
if devia == "Sim":
sim += 1
if trabalhou == "Sim":
sim += 1

if sim == 2:
print("'Suspeito'")
elif sim >= 3 and sim <= 4:
print("'Cúmplice'")
elif sim == 5:
print("'Assassino'")
else:
print("'Inocente'")
16 changes: 16 additions & 0 deletions secao_02_estrutura_de_decisao/ex_26_posto_de_gasolina.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,19 @@

def calcular_abastecimento(litros_de_combustivel: float, tipo_de_combustivel: str) -> str:
"""Escreva aqui em baixo a sua solução"""
if tipo_de_combustivel == "A" and litros_de_combustivel <= 20:
preco_alcool = litros_de_combustivel * 1.9
desconto = preco_alcool - (preco_alcool * 0.03)
print(f"'{litros_de_combustivel} litro(s) de álcool custa(m): R$ {preco_alcool:.2f}. Com 3% de desconto, fica R$ {desconto:.2f}'")
elif tipo_de_combustivel == "A" and litros_de_combustivel > 20:
preco_alcool = litros_de_combustivel * 1.9
desconto = preco_alcool - (preco_alcool * 0.05)
print(f"'{litros_de_combustivel} litro(s) de álcool custa(m): R$ {preco_alcool:.2f}. Com 5% de desconto, fica R$ {desconto:.2f}'")
elif tipo_de_combustivel == "G" and litros_de_combustivel <= 20:
preco_gasolina = litros_de_combustivel * 2.5
desconto = preco_gasolina - (preco_gasolina * 0.04)
print(f"'{litros_de_combustivel} litro(s) de gasolina custa(m): R$ {preco_gasolina:.2f}. Com 4% de desconto, fica R$ {desconto:.2f}'")
elif tipo_de_combustivel == "G" and litros_de_combustivel > 20:
preco_gasolina = litros_de_combustivel * 2.5
desconto = preco_gasolina - (preco_gasolina * 0.06)
print(f"'{litros_de_combustivel} litro(s) de gasolina custa(m): R$ {preco_gasolina:.2f}. Com 6% de desconto, fica R$ {desconto:.2f}'")
45 changes: 45 additions & 0 deletions secao_02_estrutura_de_decisao/ex_27_hortifruti.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,48 @@

def calcular_preco_da_compra(kilos_de_morango: int, kilos_de_maca: int):
"""Escreva aqui em baixo a sua solução"""
total_morangos = 0
total_maca = 0
#condicionamento morangos
if kilos_de_morango <= 5 and kilos_de_morango > 0:
preco_morango = 2.5
total_morangos = preco_morango * kilos_de_morango
print(f"(+) Morango - valor: R$ {total_morangos:.2f} - quantidade: {kilos_de_morango} kg - preço: R$ 2.50/kg")
elif kilos_de_morango > 5:
preco_morango = 2.2
total_morangos = preco_morango * kilos_de_morango
print(f"(+) Morango - valor: R${total_morangos:6.2f} - quantidade: {kilos_de_morango} kg - preço: R$ 2.20/kg")
else:
total_morangos = 0

#condicionamento maças
if kilos_de_maca <= 5 and kilos_de_maca > 0:
preco_maca = 1.8
total_maca = preco_maca * kilos_de_maca
print(f"(+) Maça - valor: R$ {total_maca:.2f} - quantidade: {kilos_de_maca} kg - preço: R$ 1.80/kg")
elif kilos_de_maca > 5:
preco_maca = 1.5
total_maca = preco_maca * kilos_de_maca
print(f"(+) Maça - valor: R${total_maca:6.2f} - quantidade: {kilos_de_maca} kg - preço: R$ 1.50/kg")
else:
total_maca = 0

#definindo peso_total e preco_total
peso_total = kilos_de_morango + kilos_de_maca
preco_total = total_morangos + total_maca

#condicionamento por peso e prints finais
if peso_total > 8 or preco_total >25:
print(f'(-) Desconto - valor: R$ {preco_total*0.1:.2f}')
print(f' Valor Total: R${preco_total*0.9:6.2f}')
else:
print("(-) Desconto - valor: R$ 0.00")
print(f" Valor Total: R${preco_total:6.2f}")








Loading