• Opções a serem implementadas: Alterar os dados de estudante (neste caso, os dados atuais deverão ser exibidos, e o usuário poderá atualizar todas ou qualquer uma das informações previamente armazenadas); a busca do estudante, cujo dados se deseja alterar, deve ser pelo CPF ou pelo RA, à escolha do usuário do programa.

Passo 1

Beleza, vamos lá! O enunciado pede para implementarmos duas opções em um programa:
  1. Alterar os dados de um estudante – onde os dados atuais serão exibidos e o usuário pode atualizar qualquer informação.
  2. Buscar o estudante – a busca pode ser feita pelo CPF ou pelo RA, conforme a escolha do usuário.
Vamos precisar entender conceitos básicos de manipulação de dados em programação, como entrada e saída de dados, estruturas condicionais para escolher entre CPF ou RA, e funcionalidades para atualizar informações armazenadas.

Passo 2

Primeiro, precisamos pensar em como armazenar os dados dos estudantes. Uma forma comum é usar um dicionário ou objeto onde cada estudante tem um CPF, RA e outras informações (nome, curso, etc.).
Por exemplo, em Python, poderíamos ter uma lista de dicionários:
estudantes = [
    {"CPF": "12345678900", "RA": "2021001", "Nome": "Ana", "Curso": "Engenharia"},
    {"CPF": "09876543211", "RA": "2021002", "Nome": "Bruno", "Curso": "Medicina"},
    # mais estudantes...
]

Passo 3

Agora, vamos implementar a busca do estudante. Precisamos permitir que o usuário escolha buscar pelo CPF ou pelo RA.
Primeiro, pedimos ao usuário para escolher o método de busca:
criterio = input("Deseja buscar pelo CPF ou RA? (Digite 'CPF' ou 'RA'): ").strip().upper()

Passo 4

Com o critério escolhido, solicitamos que o usuário insira o valor correspondente:
if criterio == "CPF":
    valor_busca = input("Digite o CPF do estudante: ").strip()
elif criterio == "RA":
    valor_busca = input("Digite o RA do estudante: ").strip()
else:
    print("Critério inválido.")
    # Aqui poderíamos reiniciar ou encerrar a função

Passo 5

Em seguida, percorremos a lista de estudantes para encontrar o que corresponde ao CPF ou RA fornecido:
estudante_encontrado = None
for estudante in estudantes:
    if estudante.get(criterio) == valor_busca:
        estudante_encontrado = estudante
        break

if not estudante_encontrado:
    print("Estudante não encontrado.")
    # Aqui poderíamos reiniciar ou encerrar a função

Passo 6

Se o estudante for encontrado, exibimos os dados atuais e perguntamos quais informações o usuário deseja atualizar:
print("Dados atuais do estudante:")
for chave, valor in estudante_encontrado.items():
    print(f"{chave}: {valor}")

print("\nDigite os novos dados (pressione Enter para manter o valor atual):")
for chave in estudante_encontrado:
    if chave in ["CPF", "RA"]:
        continue  # Supondo que CPF e RA não serão alterados
    novo_valor = input(f"{chave}: ").strip()
    if novo_valor:
        estudante_encontrado[chave] = novo_valor

Passo 7

Após a atualização, confirmamos as alterações:
print("\nDados atualizados do estudante:")
for chave, valor in estudante_encontrado.items():
    print(f"{chave}: {valor}")

Resposta

Implementamos um programa que permite buscar um estudante pelo CPF ou RA, exibe seus dados atuais e possibilita a atualização de qualquer informação escolhida pelo usuário de forma simples e interativa.

Exercícios relacionados