Exercício 1 e 2 juntos
#Atividade 1 e 2
import os
import time
cadastro =[{'nome':'Luís', 'idade': 23, 'cidade': 'Manaus'}]
def subtitulo(texto):
os.system('cls')
linha = '*' * (len(texto))
print(linha)
print(texto)
print(linha)
print()
def finalizar_app():
subtitulo('Finalizando o app...')
def exibir_opcoes():
print('\nOpções:')
print('1 - Cadastrar novo usuário')
print('2 - Editar um usuário')
print('3 - Sair do programa')
def opcao_invalida():
print('Opção inválida!')
voltar_menu_principal()
def escolher_opção():
try:
opcao_escolhida = int(input('Digite uma opção: '))
if opcao_escolhida == 1:
cadastro_novo_usuario()
voltar_menu_principal()
elif opcao_escolhida == 2:
redefinir_item()
voltar_menu_principal()
os.system('cls')
elif opcao_escolhida == 3:
finalizar_app()
except:
opcao_invalida()
def cadastro_novo_usuario():
subtitulo('Cadastro de novo usuário')
novo_nome = input('Digite o seu nome: ')
nova_idade = input('Digite a sua idade: ')
nova_cidade = input('Digite a cidade de sua residência: ')
nova_profissao = input('Digite a sua profissão: ')
dados_do_usuario = {'nome': novo_nome, 'idade': nova_idade, 'cidade': nova_cidade, 'profissão': nova_profissao}
cadastro.append(dados_do_usuario)
print(f'O usuário {novo_nome} foi cadastrado com sucesso\n')
def listar usuário():
for usuario in cadastro:
nome_usuario = usuario['nome']
idade_usuario = usuario['idade']
cidade_usuario = usuario['cidade']
profissao_usuario = usuario.get('profissão', 'Não informada')
print(f'Usuário:\n {nome_usuario} | {idade_usuario} | {cidade_usuario} | {profissao_usuario}')
def voltar_menu_principal():
input('\nDigite uma tecla para voltar ao menu inicial ')
main()
def redefinir item():
os.system('cls')
listar_usuario()
try:
indice_usuario = int(input('Digite o número do usuário o qual deseja editar algo: '))
if 0 <= indice_usuario < len(cadastro):
usuario = cadastro[indice_usuario]
print(f'\nUsuário selecionado: {usuario}')
reajuste = input('Digite a categoria que deseja editar (nome, idade, cidade, profissão): ').lower()
if reajuste in usuario:
novo_valor = input(f'Digite o novo valor para {reajuste} ')
usuario.update({reajuste:novo_valor})
print(f'\nO item "{reajuste}" foi atualizado com sucesso para "{novo_valor}".')
else:
print('\nCampo inválido. Escolha entre "nome", "idade" ou "cidade".')
else:
print('\nUsuário inválido. Selecione um número da lista.')
except ValueError:
print('\nEntrada inválida. Por favor, digite um número.')
def adicionar_profissao_existente():
for usuario in cadastro:
if 'profissão' not in usuario: # Verifica se o campo já existe
usuario['profissão'] = input(f"Digite a profissão de {usuario['nome']}: ").strip()
print('\nTodas as profissões foram atualizadas com sucesso!')
input('Pressione Enter para voltar ao menu principal.')
def main():
subtitulo('Banco de Dados de Usuários')
listar_usuario()
exibir_opcoes()
time.sleep(5)
print('Adicionar profissão ao(s) usuário(s) que ainda não possue(m) ')
adicionar_profissao_existente()
escolher_opcao()
if __name__ == '__main__':
main()