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