SóProvas


ID
2216533
Banca
FGV
Órgão
Câmara Municipal de Caruaru - PE
Ano
2015
Provas
Disciplina
Programação
Assuntos

Analise o código Python a seguir.

L1=[10,20,30]

L2=[40,50]

L1.append(L2)

print L1

Assinale a opção que descreve corretamente o que acontece quando esse programa é executado no Python 2.7

Alternativas
Comentários
  • Gab: B

     

    A resposta é a letra B, pois o comando append inclui o valor da variável L2 na posição final do vetor L1. Como o conteúdo da variável L2 é um vetor de tamanho 2 [40,50], ele que será incluído na 4ª posição de L1.

     

                             “[10, 20, 30, [40, 50]]”.

          posições        1ª   2ª    3ª    4ª 

     

  • O comando "append" é utilizado para adicionar um valor completo a uma variável. No exemplo apresentado, será retornado o resultado de impressão “[10, 20, 30, [40, 50]]”, pois L1 já continha os valores [10, 20, 30] e fora atribuído outros valores a essa variável, valores de L2 [40, 50], que juntando ficou “[10, 20, 30, [40, 50]]”.

  • Para dar a resposta C, é o seguinte código:

     

    L1=[10,20,30]

    L1.append(40)

    L1.append(50)

    print L1

     

    Quanto à resposta do colega DIEGGO, só acrescentaria que o Python começa de 0 [Zero]:

    [10, 20, 30, [40, 50]]

     0    1     2        3 

     

     

  • O comando append inclui o valor da variável L2 na posição final do vetor L1.

    Como o conteúdo da variável L2 é um vetor de tamanho 2 [40,50], ele que será incluído na 4ª posição de L1.

    Ué,

    professor, e porque a resposta não é letra C?? Muito bem observado, padawan!

    O método append inclui a lista L2 como se fosse só um elemento! Ou seja, a lista final tem 4 elementos ao

    invés de 5, pois L2 é tratado como se fosse uma coisa só! O gabarito, portanto, é a letra B.

    -Estratégia Concursos-

  • Se fosse a versão 3.X do Python, daria uma mensagem de erro, pois o uso de parênteses no comando PRINT se tornou obrigatório a partir dessa versão. Exemplo:

    a = 2

    b = 3

    print ( a + b ) //CERTO

    print a + b // ERRADO

  • P0rr@ examinador, que maldade vc fez comigo..... Fui seco na letra C

  • Fui seco na letra A pelo falta de parênteses, não sabia q nas outras versões n era obrigatório!

  • GABARITO

    O comando append adiciona qualquer valor completo, por exemplo, se enviarmos um objeto, ele adiciona o objeto, se enviarmos uma lista, ele adiciona a lista inteira ao invés de seus itens.

    >>> L1 = [10, 20, 30]

    >>> L2 = [40, 50]

    >>> L1.append (L2)

    >>> L1 ou print (L1)

    [10, 20, 30, [40, 50]]

  • Galera a questão cuidado com essa questão, na atual versão Python 3x é obrigatório o uso do parênteses no comando print!!

    Na versão 3x, o resultado será "SyntaxError: Missing parentheses in call to 'print'. Did you mean print(L1)?"

    • print (L1) #Correção p/ nova versão python

    • Só acrescentando, como [4,5] é visto como um só elemento, se usarmos print (L1[3]) vai trazer como resultado [4,5]

    • Caso você queira que apresente como está na letra c “[10, 20, 30, 40, 50]”, é só usar a seguinte sintaxe: L1.extend(L2)
  • ~>A função append é destinada ao uso em listas (que são valores ordenados, mutáveis e delimitados por colchetes)

    A=["maça", 10, "pera"]

    print(A)

    >>

    ['maça', 10, 'pera']

    ~>A função append tem como característica inserir um valor (seja uma string, um float, inteiro) no último valor da lista:

    A=["maça", 10, "pera"]

    print(A)

    A.append("ilhas")

    print(A)

    >>

    ['maça', 10, 'pera']

    ['maça', 10, 'pera', 'ilhas']

    ~> É muito parecida com a função insert por inserir também um valor à lista, mas com ela não se confunde:

    A=["maça", 10, "pera"]

    print(A)

    A.insert(0,"ilhas") # insere a string na posição 0 (lembrar que no Python a posição zero é a primeira

    print(A)

    >>

    ['maça', 10, 'pera']

    ['ilhas', 'maça', 10, 'pera']

    ~>Se não é colocado um argumento na função:

    A=["maça", 10, "pera"]

    print(A)

    A.insert("ilhas")

    print(A)

    >>

    TypeError: insert expected 2 arguments, got 1