https://cursos.alura.com.br/forum/curso-python-data-science-primeiros-passos/exercicio-desafio-hora-da-pratica/123737/novo
#Aquecendo na programação
# 1)
gastos = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]
media = sum(gastos) / len(gastos)
print(f'A média de gastos é {media}')
# A média de gastos é 3144.222
# 2)
gastos = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]
compraAcimaLimite = 0
valoresAcima = []
qtde = 0
while qtde < len(gastos):
if gastos[qtde] > 3000:
compraAcimaLimite += 1
valoresAcima.append(gastos[qtde])
qtde += 1
percentCompras = (compraAcimaLimite / len(gastos)) * 100
print(f'Compras acima de R$ 3000,00: {compraAcimaLimite}')
print(f'Porcentagem: {percentCompras:.2f}%')
print(f'Valores das compras: {valoresAcima}')
# Compras acima de R$ 3000,00: 7
# Porcentagem: 70.00%
# Valores das compras: [3701.35, 3518.09, 3456.61, 3249.38, 3891.45, 3075.26, 3219.08]
# 3)
lista = []
qtde = 0
while qtde < 5:
numeros = int(input(f'informe números inteiros: '))
lista.append(numeros)
qtde += 1
print(f'Lista formada com {qtde} números informados: {lista}')
# informe números inteiros: -5
# informe números inteiros: 7
# informe números inteiros: 0
# informe números inteiros: 13
# informe números inteiros: 2
# Lista formada com 5 números informados: [-5, 7, 0, 13, 2]
# 4)
lista = []
qtde = 0
while qtde < 5:
numeros = int(input(f'informe números inteiros: '))
lista.append(numeros)
qtde += 1
lista.reverse()
print(f'Lista invertida formada com {qtde} números informados: {lista}')
# informe números inteiros: 5
# informe números inteiros: 4
# informe números inteiros: 3
# informe números inteiros: 2
# informe números inteiros: 1
# Lista invertida formada com 5 números informados: [1, 2, 3, 4, 5]
# 5)
num = int(input('informe um número: '))
listaPrimos = []
for i in range(2, num): # laço externo p/ pegar um número da sequência
numEhPrimo = True
for j in range(2, i): # laço interno p/ verificar se o número é primo
if i % j == 0:
numEhPrimo = False
break
if numEhPrimo:
listaPrimos.append(i)
print(f'Números primos entre 1 e {num} são: {listaPrimos}')
# informe um número: 11
# Números primos entre 1 e 11 são: [2, 3, 5, 7]
# 6)
print('Informe uma data (formato 00:00:0000)')
dia = int(input('Dia: '))
mes = int(input('Mês: '))
ano = int(input('Ano: '))
mes30 = [4, 6, 9, 11]
mes31 = [1, 3, 5, 7, 8, 10, 12]
data = True
if dia < 1 or dia > 31:
data = False
if mes < 1 or mes > 12:
data = False
if mes in mes30 and dia > 30: # Dias máximos por mês
data = False
elif mes == 2:
if (ano % 4 == 0 and ano % 100 != 0) or (ano % 400 == 0): # Ano bissexto
if dia > 29:
data = False
else: # Não é bissexto
if dia > 28:
data = False
if data:
print(f'\n{dia}:{mes}:{ano} é uma data válida!')
else:
print('\nData inválida!')
# Informe uma data (formato 00:00:0000)
# Dia: 13
# Mês: 12
# Ano: 1981
# 13:12:1981 é uma data válida!