Computação Múltipla Escolha

O que produzirá o código acima?

def func(a, b):
    return b ** a

print(func(b-2, 2))

O que produzirá o código acima?

  1. produzirá 4
  2. está errado
  3. produzirá 2
  4. produzirá None

Resolução completa

Explicação passo a passo

Resumo da resposta

Alternativa "está errado"

O código apresentado contém um erro de sintaxe na chamada da função, o que impede sua execução correta.

Análise do Código

  1. Definição da Função:
    def func(a, b):
        return b ** a

A função espera dois argumentos posicionais: a e b. O operador ** em Python representa exponenciação (b^a).

  1. Chamada da Função:
    print(func(b=2, 2))

Aqui ocorre o problema principal. Na linguagem Python, é proibido passar um argumento posicional após um argumento com palavra-chave (keyword argument).

  • b=2 é um argumento por palavra-chave.
  • 2 é um argumento posicional.
  1. Regra de Ordem dos Argumentos:
    A ordem válida deve ser sempre:
  • Todos os argumentos posicionais primeiro.
  • Todos os argumentos por palavra-chave depois.
  • Exemplo válido: func(2, b=2) ou func(2, 2).
  • Exemplo inválido (como no enunciado): func(b=2, 2).

Conclusão

Ao tentar executar esse comando, o interpretador do Python lançará uma exceção:
SyntaxError: positional argument follows keyword argument

Portanto, a função não produzirá nenhum valor numérico (nem 4, nem 2, nem 16), mas sim um erro de execução.

Alternativa Correta: está errado

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Computação

Ver mais Computação resolvidas

Tem outra questão de Computação?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.