<jupyter_start><jupyter_text>1 Crie um programa que recebe uma lista de números e- retorne o maior elemento- retorne a soma dos elementos- retorne o número de ocorrências do primeiro elemento da lista- retorne a média dos elementos- retorne o valor mais próximo da média dos elementos- retorne a soma dos elementos com valor negativo- retorne a quantidade de vizinhos iguais<jupyter_code>num = [int(input ("Digite um numero: ")) for i in range (10)]
    
print("O maior elemento é: ", max(num))
print("A soma dos elementos é: ", sum(num))
print("A primeira ocorrencia foi: ", num [0])
print("O numero mais proximo da média é: ", int (sum(num) / len(num)))
print("O maior elemento é: ", max(num))
print("A soma dos valores negativos: ", 
     sum(i for i in num if i <= 0)
     )
print("Numeros iguais: ", )<jupyter_output><empty_output><jupyter_text>2 Faça um programa que receba duas listas e retorne True se sãoiguais ou False caso contrario.Duas listas são iguais se possuem os mesmos valores e na mesmaordem.<jupyter_code>list1 = [input ("Digite : ") for i in range (5)]
list2 = [input ("Digite : ") for i in range (5)]

if list1 == list2:
    print ("True")
else:
    print("False")<jupyter_output>Digite : a
Digite : s
Digite : d
Digite : d
Digite : s
Digite : a
Digite : d
Digite : s
Digite : a
Digite : d
False<jupyter_text>3 Faça um programa que receba duas listas e retorne True se têmos mesmos elementos ou False caso contrárioDuas listas possuem os mesmos elementos quando são compostaspelos mesmos valores, mas não obrigatoriamente na mesma ordem.<jupyter_code>list1 = [input ("Digite : ") for i in range (5)]
list2 = [input ("Digite : ") for i in range (5)]

resultado = list1
if list1 == list2:
    print("True")
else:
    i=0
    for i in list1[:]:
        if i in list2:
            resultado.remove(i)
    print("Divergência: ", resultado)<jupyter_output>Digite : t
Digite : e
Digite : s
Digite : t
Digite : e
Digite : t
Digite : e
Digite : s
Digite : t
Digite : e
True<jupyter_text>4 Faça um programa que percorre uma lista com o seguinteformato: [['Brasil', 'Italia', [10, 9]], ['Brasil', 'Espanha', [5, 7]],['Italia', 'Espanha', [7,8]]]. Essa lista indica o número de faltas quecada time fez em cada jogo. Na lista acima, no jogo entre Brasil eItália, o Brasil fez 10 faltas e a Itália fez 9.O programa deve imprimir na tela:- o total de faltas do campeonato- o time que fez mais faltas- o time que fez menos faltas<jupyter_code>list = [['Brasil', 'Italia', [10, 9]], ['Brasil', 'Espanha', [5, 7]], ['Italia', 'Espanha', [7,8]]]

soma=0
for t in list:
        soma += t[2][0]
        soma += t[2][1]
print("Total de Faltas no campeonato:", soma)

#print("Time que fez mais faltas: ", t[0])
    
#print("Time que fez menos faltas: ", t[0])<jupyter_output>Total de Faltas no campeonato: 46<jupyter_text>5 Escreva um programa que conta a quantidade de vogais em umastring e armazena tal quantidade em um dicionário, onde a chave éa vogal considerada.<jupyter_code>s = input ("Digite algo: ")

dic={}
smaior= s.upper()
if ("A" in smaior):
    dic['A']=smaior.count("A")
if ("E" in smaior):
    dic['E']=smaior.count("E")
if ("I" in smaior):
    dic['I']=smaior.count("I")
if ("O" in smaior):
    dic['O']=smaior.count("O")
if ("U" in smaior):
    dic['U']=smaior.count("U")
print(dic)<jupyter_output>Digite algo: teste
{'E': 2}<jupyter_text>6 Escreva um programa que lê̂ duas notas de vários alunos e armazena tais notas em um dicionário, onde a chave é o nome do aluno. A entrada de dados deve terminar quando for lida uma string vazia como nome. Escreva uma função que retorna a média do aluno, dado seu nome<jupyter_code>dic = {}
i = 0
nome = input("Insira o nome do aluno: ")
while nome != "":
    dic[nome] = [
        float(input("Insira a primeira nota: ")),
        float(input("Insira a segunda nota: "))
    ]
    nome = input("Insira o nome do aluno: ")

def media(nome):
    return (dic[nome][0] + dic[nome][1]) / 2

media(input("Insira o nome do aluno o qual deseja ver a média: "))<jupyter_output>Insira o nome do aluno: ter
Insira a primeira nota: 1
Insira a segunda nota: 2
Insira o nome do aluno: er
Insira a primeira nota: 1
Insira a segunda nota: 2
Insira o nome do aluno: 
Insira o nome do aluno o qual deseja ver a média: ter<jupyter_text>7 Uma pista de Kart permite 10 voltas para cada um de 6 corredores. Escreva um programa que leia todos os tempos em segundos e os guarde em um dicionário, onde a chave é o nome do corredor. Ao fnal diga de quem foi a melhor volta da prova e em que volta; e ainda a classifcação fnal em ordem (1o o campeão). O campeão é o que tem a menor média de tempos.<jupyter_code>import operator

dic = {
    "Willian": [57, 58, 60, 56, 64, 70, 59, 58, 69, 55],
    "Wagner": [56, 60, 72, 50, 67, 58, 61, 63, 62, 59],
    "Rebecca": [79, 52, 58, 48, 58, 59, 61, 65, 59, 60],
    "Fernando": [56, 50, 55, 70, 85, 73, 68, 65, 56, 60],
    "Marcos": [69, 55, 67, 50, 52, 53, 70, 75, 65, 56],
    "José": [56, 63, 63, 65, 70, 59, 55, 60, 63, 62]
}

volta = 0
medias = dic
nome = ""
melhor_volta = dic["Willian"][0]
for chave in dic:
    soma = 0
    for num in dic[chave]:
        if num < melhor_volta:
            melhor_volta = num
            nome = chave
        soma += num
    medias[chave] = soma / 10

#itemgeter 1 é a pos do valor do medias.items()
sort = sorted(medias.items(), key=operator.itemgetter(1))
for i in range(0, 6):
    print("%s° lugar: %s - %s segs." % (i + 1, sort[i][0], sort[i][1]))<jupyter_output>1° lugar: Rebecca - 59.9 segs.
2° lugar: Willian - 60.6 segs.
3° lugar: Wagner - 60.8 segs.
4° lugar: Marcos - 61.2 segs.
5° lugar: José - 61.6 segs.
6° lugar: Fernando - 63.8 segs.<jupyter_text>8 Escreva um programa para armazenar uma agenda de telefones em um dicionário. Cada pessoa pode ter um ou mais telefones e a chave do dicionário é o nome da pessoa. Seu programa deve ter as seguintes funções: incluirNovoNome – essa função acrescenta um novo nome na agenda, com um ou mais telefones. Ela deve receber como argumentos o nome e os telefones. incluirTelefone – essa função acrescenta um telefone em um nome existente na agenda. Caso o nome não exista na agenda, você̂ deve perguntar se a pessoa deseja inclui-lo. Caso a resposta seja afrmativa, use a função anterior para incluir o novo nome. excluirTelefone – essa função exclui um telefone de uma pessoa que já está na agenda. Se a pessoa tiver apenas um telefone, ela deve ser excluída da agenda. excluirNome – essa função exclui uma pessoa da agenda. consultarTelefone – essa função retorna os telefones de uma pessoa na agenda<jupyter_code>agenda = {}

def incluir_novo_nome(nome, telefones):
    global agenda
    agenda[nome] = telefones
    
def incluir_telefone(nome, telefone):
    global agenda
    if nome in agenda.keys():
        agenda[nome].append(telefone)
    else:
        if input("Essa pessoa não existe, incluir ela na agenda (s/n)? ") == "s":
            telefones = [telefone]
            incluir_novo_nome(nome, telefones)
            
def excluir_telefone(nome, telefone):
    global agenda
    if nome in agenda.keys():
        if len(agenda[nome]) == 1:
            del agenda[nome]
        else:
            for num in range(0, len(agenda[nome]) - 1):
                if telefone == agenda[nome][num]:
                    agenda[nome].pop(num)
        
def consultar_telefone(nome):
    global agenda
    if nome in agenda.keys():
        print(agenda[nome])
    
opcao = -1
while opcao != 0:
    opcao = int(input("\nEscolha uma opção: \n1 - Incluir Novo Nome\n2 - Incluir Telefone\n3 - Excluir Telefone\n4 - Consultar Agenda\n0 - Encerrar Programa\n"))
    
    # INSERIR NOVO NOME
    if opcao == 1:
        nome = input("Insira o nome da pessoa: ")
        telefones = []
        telefones.append(int(input("Insira um telefone da pessoa: ")))
        telefone = -1
        while telefone != 0:
            telefone = int(input("Inserir outro telefone (ou digite 0 para parar): "))
            if telefone != 0:
                telefones.append(telefone)
        incluir_novo_nome(nome, telefones)
    # INCLUIR TELEFONE
    elif opcao == 2:
        nome = input("Insira o nome da pessoa: ")
        telefone = int(input("Insira um novo telefone da pessoa: "))
        incluir_telefone(nome, telefone)
    # EXCLUIR TELEFONE
    elif opcao == 3:
        nome = input("Insira o nome da pessoa: ")
        telefone = int(input("Insira o telefone da pessoa a qual deseja excluir: "))
        excluir_telefone(nome, telefone)
    elif opcao == 4:
        consultar_telefone(input("Insira o nome da pessoa: "))<jupyter_output>Escolha uma opção: 
1 - Incluir Novo Nome
2 - Incluir Telefone
3 - Excluir Telefone
4 - Consultar Agenda
0 - Encerrar Programa
1
Insira o nome da pessoa: Fernanda
Insira um telefone da pessoa: 37874387289
Inserir outro telefone (ou digite 0 para parar): 0

Escolha uma opção: 
1 - Incluir Novo Nome
2 - Incluir Telefone
3 - Excluir Telefone
4 - Consultar Agenda
0 - Encerrar Programa
4
Insira o nome da pessoa: Fernanda
[37874387289]

Escolha uma opção: 
1 - Incluir Novo Nome
2 - Incluir Telefone
3 - Excluir Telefone
4 - Consultar Agenda
0 - Encerrar Programa
2
Insira o nome da pessoa: Fernanda
Insira um novo telefone da pessoa: 746398887

Escolha uma opção: 
1 - Incluir Novo Nome
2 - Incluir Telefone
3 - Excluir Telefone
4 - Consultar Agenda
0 - Encerrar Programa
4
Insira o nome da pessoa: Fernanda
[37874387289, 746398887]

Escolha uma opção: 
1 - Incluir Novo Nome
2 - Incluir Telefone
3 - Excluir Telefone
4 - Consultar Agenda
0 - Encerrar Programa
3
Insira o nome da pessoa: Fernanda
Ins[...]<jupyter_text>9 Faça um programa que leia um arquivo texto contendo uma lista de endereços IP e gere um outro arquivo, contendo um relatório dos endereços IP válidos e inválidos. O arquivo de entrada possui o seguinte formato:172.16.17.32192.168.1.1 8.35.67.74 257.32.4.5 85.345.1.2 1.2.3.4 192.168.127.12 192.168.0.256 O arquivo de saída possui o seguinte formato:[Endereços válidos:] 172.16.17.32 192.168.1.1 8.35.67.74 1.2.3.4 [Endereços inválidos:] 257.32.4.5 85.345.1.2 192.168.127.12 192.168.0.256<jupyter_code>import socket

ipsValidos = []
ipsInvalidos = []

ips = open("ips.txt")
for ip in ips:
    try:
        socket.inet_aton(ip)
        # Validos
        ipsValidos.append(ip)
    except socket.error:
        # Invalidos
        ipsInvalidos.append(ip)
        
ips.close()

saida = open("ipsvalidados.txt", "w+")

saida.write("[Endereços válidos:]\n")
for ip in ipsValidos:
    saida.write(ip)
    
saida.write("[Endereços inválidos:]\n")
for ip in ipsInvalidos:
    saida.write(ip)
    
saida.close()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10856498873027799, 'fraction_numerical': 0.042355371900826444, 'mean_word_length': 3.3697168649979483, 'pattern_counts': {'":': 8, '<': 32, '<?xml version=': 0, '>': 30, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 14, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 12, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '9', 'dir': 'jupyter-structured-clean-dedup', 'id': '61503', 'license': 'Apache-2.0', 'n_tokens_mistral': 4352, 'n_tokens_neox': 4101, 'n_words': 1399, 'path': 'Exercicio02.ipynb', 'repo_name': 'FernandaCosme/LingProg', 'size': '10638'}