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
Soluções para a tarefa
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.
Resposta: o ind no print ter escopo local e não global
Explicação: Estácio