1
resposta

Dúvida em relação a função entrega dentro do código

def cria_entrega(numero, destinatario, endereco, peso):
    entrega = {"numero": numero, "destinatario": destinatario, "endereco": endereco, "peso": peso}
    return entrega

def registra_saida(entrega):
    entrega["status"] = "Saiu para entrega"

def registra_entrega(entrega):
    entrega["status"] = "Entregue"

def consulta_status(entrega):
    print("Status da entrega: {}".format(entrega["status"]))

minha dúvida é como que pode usar entrega["status"] sendo que ao criar o dicionário entrega não foi criado a chave status

1 resposta

Olá, Davi! Tudo bem?

A sua dúvida é muito pertinente. No código apresentado, a chave "status" não é criada explicitamente no dicionário "entrega". No entanto, isso não é um problema, pois em Python é possível adicionar chaves a um dicionário mesmo após a sua criação.

No caso do código apresentado, a função "registra_saida" e a função "registra_entrega" adicionam a chave "status" ao dicionário "entrega" e atribuem um valor a ela. Dessa forma, quando a função "consulta_status" é chamada, ela consegue acessar a chave "status" e exibir o seu valor.

A abordagem procedural permite implementar funcionalidades em uma entrega, como mostrado no código acima. Além disso, é importante destacar que o acesso direto aos atributos pode tornar o código menos seguro, como mencionado na afirmação C.

Em caso de dúvidas, me coloco à disposição.

Grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!