1
resposta

[Sugestão] Resolução e variação do desafio 2

Adcionando nome e idade no dicionário caso não tenha o valor procurado:


idades = {'Júlia': 16, 'Carol': 23, 'Alberto': 19, 'Roberta': 17}

try:
  search_name = input("Digite um nome para procurar no dicionario: ")
  value = idades[search_name]
except KeyError:
  add_name = int(input("Nome não encontrado! Deseja adcionar esse nome no dicionario? SIM = [1] ---- NÃO = [2]: "))

  match add_name:
    case 1:
      name_add = input("Confirme o nome para adcionar: ")
      age_add = int(input("Informe a idade: "))
      idades[name_add] = age_add
      print(f'{name_add} adcionado com sucesso, cadastrado à idade {idades[name_add]}')
    case 2:
      print('Concluido!')
    case _:
      print('Valor inválido!')
else:
  print(f'Idade de {search_name} = {value}')
finally:
  print("Fim do programa!")
1 resposta

Olá João! Tudo ok contigo?

Apenas uma observação, o comando match que você está usando é uma nova funcionalidade do Python 3.10. Se você estiver usando uma versão anterior, este comando não funcionará. Nesse caso, você pode usar uma estrutura if-elif-else para obter o mesmo resultado. Veja como ficaria:

idades = {'Júlia': 16, 'Carol': 23, 'Alberto': 19, 'Roberta': 17}

try:
  search_name = input("Digite um nome para procurar no dicionario: ")
  value = idades[search_name]
except KeyError:
  add_name = int(input("Nome não encontrado! Deseja adicionar esse nome no dicionario? SIM = [1] ---- NÃO = [2]: "))
  
  if add_name == 1:
    name_add = input("Confirme o nome para adicionar: ")
    age_add = int(input("Informe a idade: "))
    idades[name_add] = age_add
    print(f'{name_add} adicionado com sucesso, cadastrado à idade {idades[name_add]}')
  elif add_name == 2:
    print('Concluído!')
  else:
    print('Valor inválido!')
else:
  print(f'Idade de {search_name} = {value}')
finally:
  print("Fim do programa!")

Mas no geral o código está incrível. Parabéns pela solução e incrementação. E também aproveito para lhe agradecer por compartilhar esse código com a comunidade do fórum. Isso pode vir a ajudar muitos estudantes que estão aprendendo este mesmo conteúdo.

Continue se dedicando em seus estudos e caso tenha dúvidas, estarei à disposição para te ajudar!

Abraços e bons estudos!