Informática, perguntado por gf24065, 4 meses atrás

Em um certo exercício, um professor pediu para fazer uma função em Python para receber uma lista e imprimir o maior elemento da lista. Abaixo está o código de seu colega.







Seu colega aponta que está ocorrendo um erro durante a execução do código. Esse erro é decorrente do fato de:

a)A variável maior ser igual a zero

b)Ele ter chamado a função com o nome errado

c)A virgula dentro da string ", indice" é um caracter inválido

d)A variável l não ser do tipo lista

e)O ind no print ter escopo local e não global​

Anexos:

thiagocfurquim: Sua pergunta parece ter mais erros que as opções elencadas. Por favor verifique se o código postado está correto.
gf24065: Mesmo o progama errado da pra saber qual e a alternativa?
gf24065: com o programa*
thiagocfurquim: Se for para escolher uma alternativa somente, é a letra e. Pois a variável ind está dentro da função definida maiorDaLista, e o acesso a ela não é permitido dado a diferença de escopo local e global. (Mas esse é só mais um dos erros desse código). A impress

Soluções para a tarefa

Respondido por thiagocfurquim
4

Resposta:

O código apresentado, conforme abaixo:

def maiorDaLista(lista):

 n = len(lista)

 aux = lista[0]

 ind = 0

 for i in range(lista):

 if aux

    aux = lista[i]

    ind = i

   return aux

#teste

 l = [3,6,1,7,4]

 maior = maiorDaLista(l)

 print('maior valor:', maior.'.indice na lista',ind )

possui falhas que não foram elencadas nas opções, uma delas é a falta do delimitador " : " ; erro na identação e de chamada de argumentos na funçaõ print() .

Explicação:

Depois da variável aux,  para dar continuidade a expressão condicional iniciada com if, é necessárioo uso de ":".

A expressão condicional if, na linguagem python deve atender :

if (condições lógicas) :

    bloco de instruções

Lembrando que python é uma linguagem que deve ser identada, causando erros se não for feita a identação corretamente, o que parece também não ter sido realizada, pois abaixo do laço for,  a palavra if está no mesmo alinhamento que ela.

E ademais, a função print está sendo chamada sem o operador de concatenação de strings "+" junto às variáveis maior e ind.

Aparentemente a intenção do programador era utilizar essas variáveis conforme a função printf, e não print.

Respondido por vivianlima01
6

Resposta: o ind no print ter escopo local e não global

Explicação: Estácio

Perguntas interessantes