1
resposta

[Sugestão] Minha solução

Olá. Tudo bem?

Segue a minha solução:

import os
import re


def exibir_exercicios():
    print(
    '''
    Exercícios
    1 - Crie um dicionário representando informações sobre uma pessoa, como nome, idade e cidade.

    2 - Utilizando o dicionário criado no item 1:

    Modifique o valor de um dos itens no dicionário (por exemplo, atualize a idade da pessoa);
    Adicione um campo de profissão para essa pessoa;
    Remova um item do dicionário.
    
    3 - Crie um dicionário utilizando para representar números e seus quadrados de 1 a 5.

    4 - Crie um dicionário e verifique se uma chave específica existe dentro desse dicionário.

    5 - Escreva um código que conte a frequência de cada palavra em uma frase utilizando um dicionário.

    0 - Finalizar o programa
    '''
    )


def exercicio_1():
    exibir_subtitulo('Exercício 1')
    lista_de_pessoas = [{'nome': 'Roberto', 'idade': 20, "cidade": "São Paulo"}]
    print(f'Nome: {lista_de_pessoas[0]['nome']}\nIdade: {lista_de_pessoas[0]['idade']}\nCidade: {lista_de_pessoas[0]['cidade']}\n')
    return lista_de_pessoas


def exercicio_2(lista_de_pessoas):
    exibir_subtitulo('Exercício 2')

    #atualizando idade da pessoa
    lista_de_pessoas[0]['idade'] = 22
    
    #adicionando um campo profissão para essa pessoa
    lista_de_pessoas[0]['profissao'] = 'Desenvolvedor Web'
    
    #deletando o campo cidade da pessoa
    lista_de_pessoas[0].pop('cidade') 

    print(f'Nome: {lista_de_pessoas[0]['nome']}\nIdade: {lista_de_pessoas[0]['idade']}\nProfissão: {lista_de_pessoas[0]['profissao']}')


def exercicio_3():
    numeros_e_quadrados = {}

    for numero in range(1, 6):
        numeros_e_quadrados[numero] = numero ** 2

    print(numeros_e_quadrados)


def exercicio_4():
    exibir_subtitulo('Exercício 4')

    dicionario = {'chave1': 10, 'chave2': 20, 'chave3': 30}
    chave_procurada = input('Digite a chave que deseja verificar: ')
    if chave_procurada in dicionario:
        print(f'A chave {chave_procurada} existe no dicionario')
    else:
        print(f'A chave {chave_procurada} não existe no dicionario')


def exercicio_5():
    exibir_subtitulo('Exercício 5')
    frase = input('Digite uma frase: ')
    frase_sem_caracteres_especiais = re.sub(r'[^a-zA-Z0-9\sáéíóúÁÉÍÓÚâêîôÂÊÎÔãõÃÕçÇ]', '', frase)
    palavras = frase_sem_caracteres_especiais.split()
    frequencia_palavras = {}

    for palavra in palavras:
        print(palavra)
        if palavra in frequencia_palavras:
            frequencia_palavras[palavra] += 1
        else:
            frequencia_palavras[palavra] = 1

    print(frequencia_palavras) 


def finalizar_app():
    exibir_subtitulo('Finalizando app \n')


def exibir_subtitulo(texto):
    os.system('cls')
    linha = '*' * (len(texto))
    print(linha)
    print(texto)
    print(linha)


def voltar_ao_menu_principal():
    input("Digite uma tecla para voltar ao menu ")
    main()


def escolher_exercicio():
    exercicio_escolhido = int(input('Escolha o exercício que quer visualizar: '))
    match exercicio_escolhido:
        case 1:
            exercicio_1()
            voltar_ao_menu_principal()
        case 2:
            lista_de_pessoas = exercicio_1()
            exercicio_2(lista_de_pessoas)
            voltar_ao_menu_principal()
        case 3:
            exercicio_3()
            voltar_ao_menu_principal()
        case 4:
            exercicio_4()
            voltar_ao_menu_principal()
        case 5:
            exercicio_5()
            voltar_ao_menu_principal()
        case 0:
            finalizar_app()


def main():
    os.system('cls')
    exibir_exercicios()
    escolher_exercicio()


if __name__ == "__main__":
    main()
1 resposta

Olá, Roberto! Tudo bem?

Ótima solução! Você demonstrou um ótimo entendimento do uso de dicionários em Python e como manipulá-los para resolver diferentes problemas. Continue assim! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!