0
respostas

Desafio - Aquecendo na programação - Respostas

## DESAFIOS

## Aquecendo na programação

#1) Faça um programa que tenha a seguinte lista contendo os valores de gastos de uma empresa de papel
#[2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08].
#Com esses valores, faça um programa que calcule a média de gastos. Dica: use as funções built-in sum() e len().
gastos_papel = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]
total_gastos_papel = sum(gastos_papel)
media = total_gastos_papel / len(gastos_papel)
print(f'A empresa X gastou com papel um total de {total_gastos_papel}, com um valor médio de {media}')

#2) Com os mesmos dados da questão anterior, defina quantas compras foram realizadas acima de 3000 reais e calcule a porcentagem quanto ao total de compras.

i=0
compra_maior = []
for elementos in gastos_papel:
  if elementos > 3000.00:
    compra_maior.append(elementos)
    i+=1
total_compra_maior = sum(compra_maior)
if len(compra_maior) > 0:
  print(f'Foram feitas {len(compra_maior)} compras acima do valor de R$3.000,00. Isso representa {((total_compra_maior / total_gastos_papel) * 100):.2f}% do total de compras')


#3) Faça um código que colete em uma lista 5 números inteiros quaisquer e imprima a lista. Exemplo: [1,4,7,2,4].

lista = []
for i in range(1,6):
  lista.append(int(input(f'Digite o {i}º número: ')))
print(f'Os números digitados foram: {lista}')

#4) Colete novamente 5 inteiros e imprima a lista em ordem inversa à enviada.
for i in range(-1,-6,-1):
  print(lista[i])

#5) Faça um programa que, ao inserir um número qualquer, cria uma lista contendo todos os números primos entre 1 e o número digitado.

lista = [1]
numero = 1
while numero <= 1:
  numero = int(input('Digite um número qualquer acima de 1: '))
for i in range(1, numero+1):
  dividiu = 0
  for contador in range (1, numero+1):
    if (i % contador == 0): dividiu += 1
    if dividiu > 2: break
  if dividiu == 2: lista.append(i)
print(lista)

#6) Escreva um programa que peça uma data informando o dia, mês e ano e determine se ela é válida para uma análise.
data_valida = True
print('Informe uma data: dia, mês e ano. Verificaremos se ela é válida!')
dia = 0
mes = 0
while dia <= 0 or dia > 31: #garantir que o dia é qualquer número entre 1 e 31
  dia = int(input('Informe um dia válido: '))
while mes <= 0 or mes > 12: #garantir que o mês é qualquer número entre 1 e 12
  mes = int(input('Informe um mês válido (usar número): '))

ano = int(input('Informe um ano válido: '))

if (dia > 30) and (mes == 4 or mes == 6 or mes == 9 or mes == 11): ## meses com 30 dias
    data_valida = False
elif mes == 2: ## mês de fevereiro
  if dia > 29:
    data_valida = False
  elif dia == 29 and not ((ano % 4 == 0) and (ano % 100 != 0)) or ((ano % 4 == 0) and (ano % 100 == 0) and (ano % 400 == 0)):
    data_valida = False

if data_valida == True:
  print(f'Data válida! {dia} / {mes} / {ano} existe!')
else:
  print(f'Data inválida! {dia} / {mes} / {ano} não existe!')