sequência = [1, 3, 5, 7, 9] quadrados = [] for número in sequência: # print(id(quadrados)) # curiosidade quadrados.append(número**2) # print('------') outro_exemplo = "Hugo Nobrega" vogais_encontradas = "" for letra in outro_exemplo: # print(id(vogais_encontradas)) # curiosidade if letra in 'aeiouAEIOU': # vogais_encontradas = vogais_encontradas + letra vogais_encontradas += letra # Exemplo: fazer uma função que recebe uma lista de inteiros # e retorna uma nova lista, com os elementos múltiplos de 3 def múltiplos(lista_de_números, divisor): """ Recebe uma lista de inteiros e um inteiro e retorna uma nova lista, com os elementos da lista dada que são múltiplos daquele inteiro """ lista_de_múltiplos = [] for número in lista_de_números: if número % divisor == 0: lista_de_múltiplos.append(número) return lista_de_múltiplos # Exemplo from datetime import datetime def exemplo_minuto(minuto_desejado): """ Printa "." na tela até que os minutos do horário atual sejam minuto_desejado """ # enquanto o minuto de agora não for minuto_desejado, imprime ponto while datetime.now().minute != minuto_desejado: print('.', end=' ') print('acabou!') # Revisitando aula 07 from random import randrange def contador_de_resultados_dado_6_for(quantidade_repetições=10**6): """Sorteia um número inteiro aleatório de 1 a 6 (inclusive) quantidade_repetições (inteiro) vezes e conta quantas vezes cada um foi sorteado, retornando em um dicionário""" contagens = {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0} for _ in range(quantidade_repetições): sorteio = randrange(1, 6 + 1) contagens[sorteio] += 1 return contagens def fibo_for(n): """ Retorna o n-ésimo número de Fibonacci (n inteiro, assumindo n > 2) """ penúltimo = 0 último = 1 for _ in range(2, n+1): atual = penúltimo + último penúltimo, último = último, atual return atual # Exemplo ambicioso: fazer uma ou mais funções para receber uma lista de elementos do tipo # (nome, nota_p1, nota_p2, nota_p3) e retornar a lista dos alunos aprovados de acordo # com o nosso cálculo de média (maior nota peso 3, segunda maior peso 2, menor peso 1) # média para aprovação >= 5 from math import ceil def média(notas): """ Recebe uma sequência de 3 notas (floats) e calcula a média pela nossa fórmula """ em_ordem_crescente = sorted(notas) pré_nota = (1*em_ordem_crescente[0] + 2*em_ordem_crescente[1] + 3*em_ordem_crescente[2])/6 return (ceil(10*pré_nota))/10 def aprovados(alunos_e_notas): """ Recebe uma lista de elementos do tipo (nome, nota_p1, nota_p2, nota_p3) e retorna um dicionário dos alunos aprovados de acordo com o nosso cálculo de média (maior nota peso 3, segunda maior peso 2, menor peso 1), com suas respectivas médias média para aprovação >= 5 """ aprovados = {} for aluno_e_notas in alunos_e_notas: nome = aluno_e_notas[0] notas = aluno_e_notas[1:] média_desse_aluno = média(notas) if média_desse_aluno >= 5: aprovados[nome] = média_desse_aluno return aprovados def lista_de_aprovados_v2(alunos_e_notas): """ Recebe uma lista de elementos do tipo (nome, nota_p1, nota_p2, nota_p3) e retorna a lista dos alunos aprovados de acordo com o nosso cálculo de média (maior nota peso 3, segunda maior peso 2, menor peso 1) média para aprovação >= 5 """ aprovados = [] for nome, n1, n2, n3 in alunos_e_notas: média_desse_aluno = média((n1,n2,n3)) if média_desse_aluno >= 5: aprovados.append(nome) return aprovados # Exemplos de compreensão # # quadrados quadrados_compreensão = [número**2 for número in [1,3,5,7,9]] # outro exemplo exemplo = ''.join([letra+letra for letra in 'Hugo Nobrega']) # exemplo: dicionário de números de 1 a 20 e seus quadrados # por extenso: resultado = {} for número in range(1, 20+1): resultado[número] = número**2 # por compreensão: resultado_compreensão = {número:número**2 for número in range(1,20+1)}