SóProvas


ID
5599000
Banca
FGV
Órgão
Banestes
Ano
2021
Provas
Disciplina
Programação
Assuntos

Considere o código Python 2.7 a seguir.


def ABC(L, n):

      while True:

             if len(L) >= n:

                 return L

           else:

                 L.append(len(L) ** 2)

print ABC([20],10)


O resultado da execução desse código é:

Alternativas
Comentários
  • A questão é bem intuitiva, a função nos dá dois parâmetros (L e n)

    A questão nos informa que o parâmetro L = (20) tem apenas 1 elemento, aqui que está o entendimento da questão.

    O parâmetro (n) também tem 1 elemento que equivale n = (10).

    A chamada da função será verdadeira e deverá ser aplicado, quando obedecer as seguintes condições:

    IF len (L) >= n --> equivale a dizer (Se a quantidade de elemento de L é >= n), caso contrario vou para o ELSE L.append(len(L) ** 2

    1º) Interação --> L >= n, ou Nº Elemento de L = 1, ou seja, 1 >= 10? Falso,

    Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 1**2 = 1

    O elementos de L passa ser L (20,1).

    2º) Interação --> L >= n, ou Nº Elemento de L = 2, ou seja, 2 >= 10? Falso,

    Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 2**2 = 4

    O elementos de L passa ser L (20,1,4)

    3º) Interação --> L >= n, ou Nº Elemento de L = 3, ou seja, 3 >= 10? Falso,

    Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 3**2 = 9

    O elementos de L passa ser L (20,1,4,9)

    4º) Interação --> L >= n, ou Nº Elemento de L = 4, ou seja, 4 >= 10? Falso,

    Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) **2 = 4**2 = 16

    O elementos de L passa ser L (20,1,4,9,16)

    4º) Interação --> L >= n, ou Nº Elemento de L = 5, ou seja, 5 >= 10? Falso,

    Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 5**2 = 25

    O elementos de L passa ser L (20,1,4,9,16,25).

    5º) Interação --> L >= n, ou Nº Elemento de L = 6, ou seja, 6 >= 10? Falso,

    Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 6**2 = 36

    O elementos de L passa ser L (20,1,4,9,16,25, 36)

    6º) Interação --> L >= n, ou Nº Elemento de L = 7, ou seja, 7 >= 10? Falso,

    Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 7**2 = 49

    O elementos de L passa ser L (20,1,4,9,16,25, 36, 49)

    7º) Interação --> L >= n, ou Nº Elemento de L = 8, ou seja, 8 >= 10? Falso,

    Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 8**2 = 64

    O elementos de L passa ser L (20,1,4,9,16,25, 36, 49, 64)

    8º) Interação --> L >= n, ou Nº Elemento de L = 9, ou seja, 9 >= 10? Falso,

    Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 9**2 = 81

    O elementos de L passa ser L (20,1,4,9,16,25, 36, 49, 64,81)

    9º) Interação --> L >= n, ou Nº Elemento de L = 10, ou seja, 10 >= 10? VERDADEIRO

    AQUI EU PARO TUDO E RETORNO L, ou seja, a lista gerada pelo FUNÇÃO.

    L (20,1,4,9,16,25, 36, 49, 64,81)

    Gabarito da Questão Alternativa D!

  • Comentário do amigo Oséias é ótimo, mas se quisermos ganhar tempo, basta percebermos que o comprimento tem que ser maior ou IGUAL a 10. A única alternativa que contém no mínimo 10 elementos é a letra D. Logo, marcamos sem medo e ganhamos tempo!