1.
# armazenando a lista
gastos_empresa = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]
#para realiza o calculo, podemos somar todos os números com sum
#e em seguida dividir pela quantidade de elementos dessa lista
media = sum(gastos_empresa)/len(gastos_empresa)
print(media)
# armazenando a lista
gastos_empresa = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]
#cria uma nova lista com cada elemento que for maior q 3000 e mostra na tela em seguida
maior_3000 = [elemento for elemento in gastos_empresa if elemento > 3000]
print(maior_3000)
#faz o calculo através da quantidade de elementos que cada lista possui e mostra em seguida
porcentagem_compras = (len(maior_3000)/len(gastos_empresa)) * 100
print(porcentagem_compras)
#modo 1 de solução por meio de while
# criação do contador para definir limite no laço e criação da lista vazia
contador = 0
lista = []
# repete enquanto o contador for menor que 5
while contador < 5:
numero = int(input('Digite um número: '))
lista.append(numero)
contador+=1
print(lista)
#modo 2 de solução por meio do laço for
lista = []
# como sabemos que precisamos de 5 números, o laço FOR é mais recomendado
# range(inicio=0, fim=5, passo=1)
for i in range(0,5,1):
numero = int(input('Digite um número: '))
lista.append(numero)
print(lista)
4.
#modo 1 de solução por meio de while
# criação do contador para definir limite no laço e criação da lista vazia
contador = 0
lista = []
# repete enquanto o contador for menor que 5
while contador < 5:
numero = int(input('Digite um número: '))
lista.append(numero)
contador+=1
print(lista[::-1])
#modo 2 de solução por meio do laço for
lista = []
# como sabemos que precisamos de 5 números, o laço FOR é mais recomendado
# range(inicio=0, fim=5, passo=1)
for i in range(0,5,1):
numero = int(input('Digite um número: '))
lista.append(numero)
# imprime a lista na ordem inversa à digitada usando método de partição [::-1]
print(lista[::-1])
5.
numero = int(input('Digite um número e vamos descobrir os números primos entre 1 e ele mesmo: '))
numeros_primos = []
#aqui ele percorre cada numero e assume a principio que são primos
for number in range(2,numero + 1):
eh_primo = True
# o programa confirma se os números realmente são primos
# caso não seja, o programa muda eh_primo para False
for divisor in range(2, number):
if number % divisor == 0:
eh_primo = False
break
# caso o número seja realmente primo, os registra na lista
if eh_primo:
numeros_primos.append(number)
print(numeros_primos)
6.
# lê a data digitada e separa em lista pelo '/'
data = input('Digite uma data no formato dd/mm/aaaa: ')
lista_data = data.split('/')
# transforma as infos de string em número inteiro
dia = int(lista_data[0])
mes = int(lista_data[1])
ano = int(lista_data[2])
# cria um dicionario onde guarda quais dias tem 28,30 e 31 dias
meses_ano = {1: 31,
2: 28,
3: 31,
4: 30,
5: 31,
6: 30,
7: 31,
8: 31,
9: 30,
10: 31,
11: 30,
12: 31}
# validar o ano
if ano < 1900 or ano > 2026:
print('Ano inválido! Por favor, tente novamente.')
# validar o mês
elif mes < 1 or mes > 12:
print('Mês inválido! Por Favor, tente novamente')
# validar dia
else:
# atualiza fevereiro para 29 dias se o ano for bissexto
if ano % 4 == 0 and (ano % 100 != 0 or ano % 400 == 0):
meses_ano[2] = 29
# valida o dia de acordo com o limite guardado no dicionário
if dia < 1 or dia > meses_ano[mes]:
print('Dia inválido!')
else:
print('Data válida!')
Segue meu Colab para vizualização dos códigos com maior facilidade, está segmentado por aula :)
Fiquei com dúvida no exercício 6, pois nas resoluções da aula o professor deixa um modo diferente de ser feito. Teria um melhor ou um pior? kkkkkkkkk ou só dois modos diferentes de solucionar?