<jupyter_start><jupyter_text>Lista 4 - FOR e Listas  Testando uso do _markdown_  1.Crie uma lista qualquer e faça um programa que imprima cada elemento da lista usando o ​for​<jupyter_code>lista = [234,234,34,34,345,2341,213,234,1234,3241,54,234,1234,124]
for i in lista:
    print (i)<jupyter_output>234
234
34
34
345
2341
213
234
1234
3241
54
234
1234
124<jupyter_text>2.Faça um programa que peça para o usuário digitar um número n e imprima uma lista com todos os números de 0 a n-1.>Exemplo: se o usuário digitar 5, o programa deve imprimir [0, 1, 2, 3, 4<jupyter_code>numero = int(input('Entre com um número: '))
for i in range(numero):
    print(i)<jupyter_output>Entre com um número: 8
0
1
2
3
4
5
6
7<jupyter_text>3.Faça um programa que imprima todos os itens de uma lista, usando ​whilee compare com o exercício 1.<jupyter_code>numero_dado = int(input('entre numero: '))
i = 0
while i < numero_dado:
    print (i)
    i += 1<jupyter_output>entre numero: 5
0
1
2
3
4<jupyter_text>4.Faça um programa que olhe todos os itens de uma lista e diga quantos deles são pares.<jupyter_code>lista = [5,7,3,5,65,4,65,8,57,45,5,7,75,5,46,34,43,23,23,54,65,76]

quantos_pares = 0
pares = []

for i in lista:
    if (i % 2) == 0:
        quantos_pares += 1
        pares.append(i)
        
print (quantos_pares , 'numeros da lista sao pares:',pares)<jupyter_output>6 numeros da lista sao pares: [4, 8, 46, 34, 54, 76]<jupyter_text>5.Faça um programa que imprima o maior número de uma lista, sem usar *max()​*.<jupyter_code>lista = [5,7,3,5,65,4,65,8,57,45,98,7,75,5,46,34,43,23,23,54,65,76]

maior = lista[0]

for i in lista:
    if i > maior:
        maior = i
print (maior)<jupyter_output>98<jupyter_text>6.Agora usando *max()* faça um programa que imprima os três maiores números de uma lista.> Dica: use a função própria de listas *.remove*<jupyter_code>lista = [5,7,3,5,65,4,65,8,57,45,98,7,75,5,46,34,43,23,23,54,65,76]

tres_max = []

while len(tres_max) < 3:
    maximo = max(lista)
    tres_max.append(maximo)
    lista.remove(maximo)

print (tres_max)<jupyter_output>[98, 76, 75]<jupyter_text>7.Faça um programa que, dadas duas listas de mesmo tamanho, crie uma nova lista com cada elemento igual a soma dos elementos da lista 1 com a lista 2, na mesma posição.> Exemplo: dadas lista1 = [1, 4, 5] e lista2 = [2, 2, 3], então lista3 = [1+2, 4+2, 5+3]= [3, 6, 8]<jupyter_code>lista_1 = [1, 4, 5, 6, 4, 5]
lista_2 = [2, 2, 3, 7, 5, 9]
lista_3 = []
i = 0
while i < len(lista_1):
    x = (lista_1[i] + lista_2[i])
    lista_3.insert(i,x)
    i +=1
print (lista_3)<jupyter_output>[3, 6, 8, 13, 9, 14]<jupyter_text>8. Faça um programa que dadas duas listas de mesmo tamanho, imprima o produto escalar entre elas. OBS: produto escalar é a soma do resultado da multiplicação entre o número na posição i da lista1 pelo número na posição i da lista2, com i variando de 0 ao tamanho da lista.> Exemplo: dadas lista1 = [1, 4, 5] e lista2 = [2, 2, 3], então prod = 1*2 + 4*2 + 5*3<jupyter_code>lista_1 = [1, 4, 5, 6, 4, 5]
lista_2 = [2, 2, 3, 7, 5, 9]
lista_3 = []
i = 0
while i < len(lista_1):
    x = lista_1[i] * lista_2[i]
    lista_3.insert(i,x)
    print (lista_3[i])
    i += 1
print (sum(lista_3), '<-----  Total')<jupyter_output>2
8
15
42
20
45
132 <-----  Total<jupyter_text>9. Faça um programa que pede para o usuário digitar 5 números e, ao final, imprime uma lista com os 5 números digitados pelo usuário (sem converter os número para *int* ou *float*).> Exemplo: Se o usuário digitar 1, 5, 2, 3, 6 o programa deve imprimir a lista ['1','5','2','3','6']<jupyter_code>numero = []
i = 0
while i <5:
    x = input('Entre um número: ')
    numero.append(x)
    i += 1
print (numero)<jupyter_output>Entre um número: 1
Entre um número: 2
Entre um número: 3
Entre um número: 4
Entre um número: 5
['1', '2', '3', '4', '5']<jupyter_text>10. Pegue a lista gerada no exercício anterior e transforme cada um dos itens dessa lista em um float .OBS: Não é para alterar o programa anterior, mas a lista gerada por ele.<jupyter_code>numero = []
i = 0
while i <5:
    x = input('Entre um número: ')
    numero.append(x)
    i += 1
print (numero)
i = 0
while i < 5:
    numero [i] = float(numero[i])
    i += 1
print (numero)<jupyter_output>Entre um número: 8.8
Entre um número: 9.7
Entre um número: 9.6
Entre um número: 9.4
Entre um número: 7
['8.8', '9.7', '9.6', '9.4', '7']
[8.8, 9.7, 9.6, 9.4, 7.0]<jupyter_text>11. Faça um Programa que peça as 4 notas bimestrais e mostre a média, usando listas.<jupyter_code>bimestrais = []
i = 0
while i < 4:
    x = float(input('Entre com a nota bimestral: '))
    bimestrais.append(x)
    i += 1
print ((sum(bimestrais))/4 , '<-------------- média')<jupyter_output>Entre com a nota bimestral: 4.4
Entre com a nota bimestral: 5.3
Entre com a nota bimestral: 8.9
Entre com a nota bimestral: 10
7.15 <-------------- média<jupyter_text>Desafio  1. Faça um programa que peça para o usuário digitar o nome de um aluno, a idade dele e o número de provas que esse aluno fez. Depois disso o programa deve pedir para o usuário digitar as notas de cada prova do aluno. Ao final o programa deve imprimir uma lista contendo:**a. Nome do aluno na posição 0****b. Idade do aluno na posição 1****c. Uma lista com todas as notas na posição 2****d. A média do aluno na posição 3****e. True ou False, caso a média seja maior que 5 ou não, na posição 4**> Dica: use o que você fez nos exercícios anteriores para criar esse programa<jupyter_code>aluno = []
notas = []
#nome = input('Nome: ')
aluno.append(input('Nome: '))
aluno.append(input('Idade: '))
provas = int(input('Quantas provas fez: '))
i = 0
while i < provas:
    notas.append(float(input('Nota da prova: ')))
    i += 1
aluno.append(notas)
aluno.append(sum(notas) / provas)
aluno.append(aluno[3] >5)
print (aluno)<jupyter_output>Nome: Thiago
Idade: 41
Quantas provas fez: 6
Nota da prova5
Nota da prova7
Nota da prova6
Nota da prova8
Nota da prova6
Nota da prova7
['Thiago', '41', [5.0, 7.0, 6.0, 8.0, 6.0, 7.0], 6.5, True]<jupyter_text>2. Faça um programa como o do item anterior, porém que imprima a média sem considerar a maior e menor nota do aluno (nesse caso o número de provas precisa ser obrigatoriamente maior que dois)> Dica: crie uma cópia com a lista de todas as notas antes de fazer a média<jupyter_code>aluno = [] 
notas = []

aluno.append(input('Nome: '))
aluno.append(input('Idade: '))
provas = int(input('Quantas provas fez: '))

i = 0
while i < provas:
    notas.append(float(input('Nota da prova: ')))
    i += 1
aluno.append(notas)  

# 'lista1 = lista2 ' faz com q as duas listas sejam sempre iguais.? muda uma e a outra tb muda. usar lista.copy()
copia_notas = notas.copy()
copia_notas.sort()

if provas > 2:
    copia_notas.pop(0)
    copia_notas.pop(-1)
    aluno.append(sum(copia_notas)/(provas - 2))
else:
    aluno.append(sum(notas) / provas)
    
aluno.append(aluno[3] >5)
    
    
print (aluno)<jupyter_output>Nome: Thiago
Idade: 41
Quantas provas fez: 4
Nota da prova: 6
Nota da prova: 4
Nota da prova: 5
Nota da prova: 7
[6.0, 4.0, 5.0, 7.0]
[6.0, 4.0, 5.0, 7.0]
['Thiago', '41', [6.0, 4.0, 5.0, 7.0], 5.5, True]<jupyter_text>3.Faça um programa que pede para o usuário digitar o cpf e verifica se ele é válido. Primeiramente o programa deve multiplicar cada um dos 9 primeiros dígitos do CPF pelos números de 10 a 2 e somar todas as respostas. O resultado deve ser multiplicado por 10 e dividido por 11. O resto da divisão deve ser igual ao primeiro dígito verificador (10º dígito). Em seguida, o programa deve multiplicar cada um dos 10 primeiros dígitos do CPF pelos números de 11 a 2 e repetir o procedimento anterior para verificar o segundo dígito verificador.> Exemplo: se o CPF for 286.255.878-87 o programa deve fazer primeiro:x = (2x10 + 8x9 + 6x8 + 2x7 + 5x6 + 5x5 + 8x4 + 7x3 + 8x2).Em seguida o programa deve testar se x x 10%11 == 8 (o décimo número doC PF).Se for, o programa deve calcular x = (2x11 + 8x10 + 6x9 + 2x8 + 5x7 + 5x6 + 8x5 + 7x4 + 8x3 + 8x2)e verificar se x x 10%11 == 7 (o décimo primeiro número do CPF)<jupyter_code>while True:
    cpf_str = (input('Digite o CPF: '))
    cpf = list(cpf_str)
    numeros = cpf[:-2]
    verificadores = cpf[-2:]
    
    if not cpf_str.isnumeric() or len(cpf) != 11:
        print('Digite apenas os 11 números do CPF')
        
    else:
        multiplicador = 10
        x = 0
        for i in numeros:
            x += (int(i) * multiplicador)
            multiplicador -= 1
        y = 0
        multiplicador = 11
        numeros.append(verificadores[-2])
        for i in numeros:
            y += (int(i) * multiplicador)
            multiplicador -= 1
                   
        verificador_1 = (x * 10 % 11)
        if verificador_1 == 10:
            verificador_1 = 0
        verificador_2 = (y * 10 % 11)
        if verificador_1 == 10:
            verificador_1 = 0

        
        if verificador_1 == int(verificadores[0]) and verificador_2 == int(verificadores[1]):
            print('O CPF', cpf_str , 'é válido.') 
            break
        else:
            print('CPF Inválido')<jupyter_output>Digite o CPF: df
Digite apenas os 11 números do CPF
Digite o CPF: erfrve
Digite apenas os 11 números do CPF
{'fraction_non_alphanumeric': 0.12333986501197475, 'fraction_numerical': 0.06956237753102547, 'mean_word_length': 3.44675701839303, 'pattern_counts': {'":': 0, '<': 57, '<?xml version=': 0, '>': 55, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '14', 'dir': 'jupyter-structured-clean-dedup', 'id': '565360', 'license': 'MIT', 'n_tokens_mistral': 4108, 'n_tokens_neox': 3812, 'n_words': 1244, 'path': '# Lista - Listas e for/Lista FOR e Listas.ipynb', 'repo_name': 'thizago/letscode', 'size': '9186'}