Aspira! Bem vindo ao Marrs Guia TECH.

Vamos ver dicionários que acho o nome um pouco fora de contexto, mas é uma das 3 formas de array (ou matriz) no Python, junto com LIST e TUPLE.

Cada tipo de array tem sua utilidade e o dicionário ele tem a vantagem de ter a característica da CHAVE:VALOR (KEY:VALUE).

O dicionário é definido pela {, , … } e precisa ser assim ou ocorrerá erro ao tentar usar.

Você pode declarar uma variável para dicionário de duas formas: dados=dict() ou dados={}

Na prática você tem a facilidade de chamar uma determinada posição por um nome e então acessar seu conteúdo, sem precisar chamar pela posição por assim dizer.

Vou dar um exemplo prático para não ficar enrolando muito, assim você pode escrever seu código e testar com sua própria imaginação.

Lembre-se:

  • Não copie e cole, escreva o código
  • Não se limite ao exemplo, experimente
  • Tente entender o que está acontecendo

"""

Nesse rograma vamos criar um dicionário para gravar até 5 chaves: nome, ano de nasc.,

num da carteira de trabalho, ano de contrato e salario.

Só iremos criar as 2 últimas chaves se a carterira de trabalho for diferente de vazio.

Vamos calcular com quantoa anos a pessoa vai se aposentar (35 anos de contribuição)

"""

 

import datetime #Importamos o módulo datetime para poder fazer cálculos com datas

dado=dict() #Poderia ser daso={}

today = datetime.date.today() #Usando o módulo de data para pegar a data de hoje

year = int(today.strftime("%Y")) #Mas como vamos precisar só do anos, precisamos extrair essa informação da data

mesage='' #Só uma variável global para pegar as mensagens que serão impressas em tela

#OK! Aqui você tem o dicionário criando a chave e recebendo o valor através de input do usuário

dado["nome"]=  str(input("Nome----------------: "))

dado["nasc"]=  str(input("Data Nac. dd/mm/aaaa: "))

dado['cns']=   str(input("CNS-----------------: "))

if(dado['cns']!=''): #Só criamos mais 2 chaves se CNS tiver sido digitado

   dado["anoContrato"]=int(input("Ano de contratação--: "))

   dado["salario"]    =float(input("Salário R$----------: "))

  

   anoApos= year - int(dado["anoContrato"]) #calculando a diferença de naos entre hoje a data de contrato

   if(anoApos>35):

       mesage="Você já pode se aposentar"

   else:

       mesage ="Faltam ", (35-anoApos), " anos para se aposentar"

print("<","="*60,'>')

# O laço abaixo usando for tem uma particularidade quando usada com um dicionário.

# O dicionário possui essa função .items() que permite listar chave e valor de cada posição.

# Então 'k' está recebendo a chave e 'd' recebe o dado da chave (ex. dado['nome']='joão'. chave = nome e dado = 'joão')

for k, d in dado.items():   

   print(k, "   => ",d , ) #para cada iteração será impresso no nome da chave e o valor contido.

  

print("<","="*60,'>')

print(mesage) #imprimindo a mensagem final

print("<","="*60,'>')

Como experimento, vale a pena você tentar fazer uma comparação de acesso às matrizes utilizando list, tuple e agora o dictionary, assim você treina para todos.

Até a próxima