1
resposta

Aula 5 - Estrutura de Daods. Respostas 1 a 6.

1 Valores de gastos de uma empresa de papel. calcule a média de gastos.

gastos = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08] # creiar lista de gastos
media = (sum(gastos),len(gastos)) #suma gastos,faz a media pelo total de items dentro da lista media
print(f'A média de gasto em papel e: {media}') #printo

A média de gasto em papel e: (31442.22, 10)

2 compras acima de 3000 reais e porcentagem quanto ao total de compras.

compras_3000 = 0  #declaro variavel para contabilizar a itiração de compras >3000
for compra in gastos:   
  if compra > 3000:
    compras_3000 += 1 #acrescenta 1 a compras_3000 
percentual_compras = (compras_3000 *100 / (len(gastos))  )  # percentual de compras acima de 3000 
print(f'Percentual de compras acima de 3000: {percentual_compras:.2f}%') #printo
Percentual de compras acima de 3000: 70.00%

3 lista 5 números inteiros quaisquer e imprima a lista.

numeros_enteros = []  # crear a lista
for i in range(5):  #determinar rango
  numero_valido = False   #adiciona variable para verificar se  numero é inteiro.
  while not numero_valido:
    try:                  # uso TRY y Except para verificar se numero é inteiro - isdigit() nao funciona pq os input son siempre string 
      numero = int(input('Digite um número inteiro: '))
      if numero == int(numero):
        numero_valido = True
        numeros_enteros.append(numero)  #adiciono o numero se é inteiro
    except ValueError:  
      print('Entrada inválida. Por favor, digite um número inteiro válido.')
      continue  #nao adiciona e volta a pedir numero se nao for inteiro e rango =<5.

print('Lista de números inteiros:', numeros_enteros) #coleitados os 5 inteiros, printo
Digite um número inteiro: 54
Digite um número inteiro: 82
Digite um número inteiro: 666
Digite um número inteiro: 582
Digite um número inteiro: 14
Lista de números inteiros: [54, 82, 666, 582, 14]

4 imprima a lista em ordem inversa à enviada.

numeros_enteros = []  # crear a lista
for i in range(5):  #determinar rango
  numero_valido = False   #adiciona variable para verificar se o numero é inteiro.
  while not numero_valido:
    try:                  # uso TRY y Except para verificar que o numero é inteiro - isdigit() nnao funciona pois os input son siempre string 
      numero = int(input('Digite um número inteiro: '))
      if numero == int(numero):
        numero_valido = True
        numeros_enteros.append(numero)  #adiciono o numero se é inteiro
    except ValueError:  
      print('Entrada inválida. Por favor, digite um número inteiro válido.')
      continue  #nao adiciona e volta a pedir numero se nao for inteiro e rango =<5.
numeros_enteros.reverse()   #inverte a orden da lista
print('Lista de números enteros invertida:', numeros_enteros) #printa a lista 

Digite um número inteiro: 3
Digite um número inteiro: 56
Digite um número inteiro: 78
Digite um número inteiro: 84
Digite um número inteiro: 93
Lista de números enteros invertida: [93, 84, 78, 56, 3]

5 ao inserir um número, criará uma lista dos números primos entre número digitado e 1.

numeros_primos = [] #Crear lista que recibe valores
numero = int(input('Digite un numero : ')) #Input entero
for i in range (2,numero): #determina rango desde input a 2 - pq 1 != primo.
  es_primo = True #asumindo que numero é primo,
  if numero == int(numero): # se numero é entero,
    for j in range (2,i): # se está entre numero e 2
          if i % j == 0: # verifica que nao é divisible por otros numeros
            es_primo = False # si es divisible, nao es primo
            break # termina  verificacion
    if es_primo == True: #si es primo Sale del bucle interno
        numeros_primos.append(i) # en el externo agrego el numero primo a la lista y sigue checando nros en el bucle. 
      
print(f'Números primos entre 1 e {numero}: {numeros_primos}') # al terminar, printa lista.

Digite un numero : 23
Números primos entre 1 e 23: [2, 3, 5, 7, 11, 13, 17, 19]

6 peça uma data (dia, mês e ano) e determine se ela é uma data válida.

from datetime import date #Declara input en formato dd,mmy,yyyy. Verifica formato da data y printa 
data_informada = input('Digite uma data no formato dd/mm/yyyy: ')
def comprobar_fecha(data_informada): #  funcion que verifica si data_informada=true
    try:
        dia, mes, ano = map(int, data_informada.split('/')) #es separable en 3 variables
        fecha = date(ano, mes, dia) #si obtengo fecha then data_informada = TRUE
        return True
    except ValueError:
        return False # comprobar_fecha = FALSE

if comprobar_fecha(data_informada): # si la funcion = True 
    print('A data é válida para análise.') #printo
else: #si la funcion = False
    print('A data não é válida para análise.') # printo
Digite uma data no formato dd/mm/yyyy: 25/06/1562
A data é válida para análise.
1 resposta

Bom dia Fabiola, tudo bem com você?

Obrigado por compartilhar seu código no fórum da Alura. Como relembrar é manter vivo na memória o que estamos aprendendo, gostaria de recomendar a leitura do artigo Listas em Python: operações básicas que apresenta de forma detalhada as principais manipulações que podemos realizar com as listas no Python, assim fixar ainda mais o conteúdo que você está aprendendo.

Continue estudando e conte com a Alura para evoluir sua carreira. Abraços e bons estudos!