Lista de Exercícios Resolvidos de Tuplas e dicionários

Ver Teoria

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 incluí-­lo. Caso a resposta seja afirmativa, 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.

Ver solução completa

Três tipos de dados fundamentais em Python são as listas (“lists”), sequências ou ‘tuplas’ (“tuples”) e dicionários (“dictionaries”). A respeito dessas estruturas, é correto afirmar:

  1. Listas não podem ser modificadas depois de criadas, ao passo que sequências e dicionários podem.
  2. Listas podem ser modificadas, mas seu tamanho não pode ser modificado após a criação, ao passo que sequências e dicionários não têm essa limitação.
  3. Dicionários não podem ser modificados depois de criados, ao passo que listas e sequências podem.
  4. Listas e sequências são indexadas por inteiros, ao passo que dicionários podem ser indexados por strings.
  5. Listas e dicionários são indexados por inteiros, ao passo que sequências podem ser indexadas por strings.

Ver solução completa

Escreva uma função “inva” em Python que recebe um dicionário d e retorna um dicionário “inverso” do dicionário dado, onde, a cada valor v de d está associada a lista das chaves de d que levam a v. Exemplos:

Ver solução completa

Escreva uma função, chamada contaVoigais, que conta todas as vogais presentes no texto recebido como parâmetro e retorna um dicionário contendo a quantidade de cada vogal. Escreva um programa a fim de testar sua função, e exiba, no fim, os dados do dicionário retornado.

Ver solução completa

Faça uma função que encontre todas as chaves que estão associadas a um determinado valor em um dicionário. A função receberá no primeiro parâmetro o dicionário a ser analisado, e como segundo parâmetro o valor da chave a ser buscada. A função retornará uma lista com as chaves encontradas, essa lista pode ter diversos valores, apenas um ou nenhum. Nos exemplos, a função foi chamada de p r o c u r a R e v e r s a .

Exemplo:

Ver solução completa

A conta do cartão de crédito de uma pessoa pode ser modelada por um dicionário com os campos saldo, com o saldo devedor da conta, transações, com o número de transações que gerou esse saldo, e média, com a média de gastos por transação. Escreva uma função compra, que recebe como parâmetros o dicionário com a conta e o valor da compra e retorna um novo dicionário para aquela conta, com o saldo devedor, número de transações e média de gastos atualizados.

Ver solução completa

Faça um programa que leia nomes de alunos e suas respectivas notas até que o nome ’oooo’ seja informado, após o fim da leitura, imprima o nome do aluno que possui a maior nota. Obs.: Use dicionário para resolver essa questão.

Ver solução completa

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.
  • Escreva um programa que exiba o nome é a média do aluno de maior média.

Ver solução completa