DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES EM PYTHON (ARA0095/7484644 / 2023.1) Turma 3001


001_-_Exerci_cio_de_fixac_a_o_Manipulando_Arquivos.pdf


  1. Escreva um script python para ler uma sequencia de linhas de um arquivo e criar dois outros arquivos separando os número pares e números impares.

    with open('arquivo_de_entrada.txt', 'r') as arquivo_entrada:
        numeros_pares = []
        numeros_impares = []
        
        for linha in arquivo_entrada:
            numeros = linha.strip().split()
            
            for numero in numeros:
                if int(numero) % 2 == 0:
                    numeros_pares.append(numero)
                else:
                    numeros_impares.append(numero)
                    
    with open('numeros_pares.txt', 'w') as arquivo_pares, open('numeros_impares.txt', 'w') as arquivo_impares:
        for numero in numeros_pares:
            arquivo_pares.write(numero + '\\n')
        
        for numero in numeros_impares:
            arquivo_impares.write(numero + '\\n')
    
  2. Escreva um script python para ler todas as linhas de um arquivo, ordena-las e salvar novamente no arquivo.

    
    with open('arquivo.txt', 'r') as arquivo:
        linhas = arquivo.readlines()
    
    linhas_ordenadas = sorted(linhas)
    
    with open('arquivo.txt', 'w') as arquivo:
        for linha in linhas_ordenadas:
            arquivo.write(linha)
    
  3. Escreva um script python que receba do usuário os seguintes dados de aluno: matrícula, nome, ano de ingresso, escore atual e grave as informações em um arquivo texto com os valores de cada aluno em linhas distintas separados por “;”.

    with open("alunos.txt", "w") as arquivo:
    
        while True:
            matricula = input("Digite a matrícula do aluno (ou pressione ENTER para sair): ")
            if not matricula:
                break
            nome = input("Digite o nome do aluno: ")
            ano_ingresso = input("Digite o ano de ingresso do aluno: ")
            escore_atual = input("Digite o escore atual do aluno: ")
    
            aluno = f"{matricula};{nome};{ano_ingresso};{escore_atual}\\n"
            arquivo.write(aluno)
    
    print("Informações de alunos gravadas com sucesso!")
    
  4. Escreva um script que LEIA os dados do arquivo texto gerado na questão anterior e exiba no console apenas os nomes dos alunos concatenado com a frase a seguir, baseado em sua regra:

    
    with open("alunos.txt", "r") as arquivo:
        linhas = arquivo.readlines()
    
    for linha in linhas:
        # separa os valores da linha
        valores = linha.strip().split(";")
        matricula, nome, ano_ingresso, escore_atual = valores
    
        if float(escore_atual) < 6.0:
            frase = "em fase de adaptação"
        elif 6.0 <= float(escore_atual) <= 7.0:
            frase = "familiarizado com o curso"
        elif 7.0 < float(escore_atual) < 8.5:
            frase = "em excelência no curso"
        else:
            frase = "Nasceu para o curso"
    
        print(f"{nome} está {frase}.")
    
  5. Faça um programa que leia um número N e gere um arquivo com N nomes e idades aleatórios. Faça uso de duas listas criadas na mão: uma que contenha 20 nomes e outra que contenha 20 sobrenomes. Cada linha do arquivo resultante deve conter um nome completo e a sua idade.

    import random
    
    nomes = ["Alice", "Beatriz", "Caio", "Daniel", "Eduardo", "Felipe", "Gabriela", "Heloísa", "Isabela", "João",
             "Karine", "Larissa", "Marcelo", "Nathália", "Olívia", "Pedro", "Quintino", "Rafael", "Samantha", "Thiago"]
    
    sobrenomes = ["Silva", "Santos", "Pereira", "Oliveira", "Rodrigues", "Ferreira", "Costa", "Alves", "Nascimento",
                  "Lima", "Azevedo", "Mendes", "Souza", "Carvalho", "Barbosa", "Gomes", "Ribeiro", "Martins", "Moura", "Rocha"]
    
    n = int(input("Digite o número de nomes a serem gerados: "))
    
    with open("nomes.txt", "w") as arquivo:
        for i in range(n):
            nome = random.choice(nomes)
            sobrenome = random.choice(sobrenomes)
            idade = random.randint(18, 60)
            arquivo.write(f"{nome} {sobrenome};{idade}\\n")
    
    print(f"Arquivo com {n} nomes e idades gerado com sucesso!")
    
  6. Escreva uma função que recebe dois nomes de arquivos e copia o conteúdo do primeiro arquivo para o segundo arquivo. Considere que o conteúdo do arquivo de origem é um texto. Sua função não deve copiar linhas comentadas (que começam com //)

    def copiar_arquivo(origem, destino):
        with open(origem, 'r') as arquivo_origem:
            with open(destino, 'w') as arquivo_destino:
                for linha in arquivo_origem:
                    if not linha.startswith('//'):
                        arquivo_destino.write(linha)
        print(f'Arquivo {origem} copiado com sucesso para {destino}.')
    

Menu Principal