Argumentos Posicionais e Nomeados

Ao chamar funções, fornecemos valores para os argumentos para que a função seja executada usando esses valores. É possível fornecer esses valores tanto com argumentos posicionais quanto com argumentos nomeados:
def rectangle(h, w, val=0):
    return [[val] * w] * h

print(rectangle(2, 3, 1))
# [[1, 1, 1], [1, 1, 1]]
def rectangle(h, w, val=0):
    return [[val] * w] * h

print(rectangle(2, w=3, val=1))
# [[1, 1, 1], [1, 1, 1]]
Podemos fornecer valores para os argumentos especificando os nomes desses argumentos, como fizemos no segundo exemplo (val=1 ou w=3).
Isso é especialmente útil para funções que possuem muitos argumentos e a maioria deles tem valores padrão. Nesse caso, podemos fornecer os argumentos nomeados apenas para os parâmetros que precisamos e ignorar o restante.
Observe que os argumentos nomeados não precisam ser fornecidos na mesma ordem dos argumentos da função. Eles podem ter uma ordem arbitrária, desde que seus nomes correspondam aos argumentos da função. É também importante notar que argumentos posicionais não podem seguir argumentos nomeados. Ao chamar uma função, primeiro especificamos os argumentos posicionais e só depois os argumentos nomeados. Consegue pensar por que isso acontece 🤔?

Desafio

Dada a função que imprime as propriedades de um paciente, chame-a 3 vezes com a seguinte ordem de argumentos:
  1. name, age, height
  1. age, name, height
  1. height, age, name
As saídas de cada chamada precisam ser as mesmas, mas você pode usar tanto argumentos posicionais quanto argumentos nomeados para chamar a função.
 

Constraints

Time limit: 1 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue