← Questões de Programação

Programação · CESPE/CEBRASPE · 2022

Questão comentada de Programação

nome = Emma idade = 25 cidade = Formosa idade = 178 estado = GO Assinale a opção que corresponde ao código em Python que produzirá o resultado precedente.

Gabarito: B

Em Python, quando voce quer receber uma quantidade variavel de argumentos nomeados, o recurso certo eh o dicionario de argumentos por palavra-chave, escrito com **kwargs. Ele junta os pares chave=valor em um objeto do tipo dict, o que permite percorrer nomes e valores com a funcao items(). Nesta questao, o codigo precisa imprimir algo como "nome = Emma" e "idade = 25", e depois outra chamada com "cidade = Formosa", "idade = 178" e "estado = GO". Isso combina exatamente com uma funcao definida com **a, porque a recebe os argumentos nomeados e permite usar for i, j in a.items(): para exibir cada par. A alternativa B esta correta por isso: def apresenta_dado(**a) captura os parametros nomeados e o laço percorre o dicionario de argumentos. Ja a chamada apresenta_dado(nome="Emma", idade=25) funciona normalmente, assim como a segunda chamada com tres argumentos nomeados. Como regra pratica, lembre: *args recebe argumentos posicionais em forma de tupla, enquanto **kwargs recebe argumentos nomeados em forma de dicionario. Essa diferenca cai bastante em prova, porque a banca adora trocar uma letrinha e esperar que voce escorregue.

Continue treinando

Questões relacionadas