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?
- produzirá 4
- está errado
- produzirá 2
- produzirá None
def func(a, b):
return b ** a
print(func(b-2, 2))O que produzirá o código acima?
Resolução completa
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.
def func(a, b):
return b ** aA função espera dois argumentos posicionais: a e b. O operador ** em Python representa exponenciação (b^a).
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.func(2, b=2) ou func(2, 2).func(b=2, 2).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 IACom relação à linguagem de Programação Prolog, marque a alternativa que indica a estrutura de um fato:
Análise o código abaixo e responda, a qual linguagem de programação melhor se enquadra essa sintaxe:
String, ou cadeia de caracteres, é um tipo de dado. Diante dessa afirmação, analise as alternativas a seguir e assinale a falsa.
O fluxo de execução de um algoritmo consiste em estruturas. Quais são essas estruturas?
Qual das seguintes alternativas apresenta a sintaxe correta para declaração e inicialização de uma matriz?
Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.