Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Comportamento de Listas em Funções | Funções
Introdução ao Python
course content

Conteúdo do Curso

Introdução ao Python

Introdução ao Python

1. Introdução
2. Variáveis e Tipos
3. Declarações Condicionais
4. Outros Tipos de Dados
5. Loops
6. Funções

book
Comportamento de Listas em Funções

Vamos explorar trabalhar com listas dentro de funções. Embora seja semelhante a trabalhar com números, há alguns detalhes importantes a serem observados.

Listas são mutáveis, o que significa que quaisquer alterações feitas em uma lista dentro de uma função também afetarão a lista original fora da função se passada diretamente.

Para evitar isso, você pode usar o método copy() com qualquer tipo de dado mutável. Ao fazer isso, você cria uma cópia superficial da lista, permitindo que você modifique um duplicado em vez do original. Isso garante que as alterações feitas dentro da função não impactem a lista original.

1234567891011121314
def add_strawberry(original_list): list_copy = original_list.copy() # Create a copy of the original list list_copy.append("Strawberry") # Modify the copied list return list_copy # Original list fruits = ["Apple", "Banana", "Cherry"] # Call the function new_fruits = add_strawberry(fruits) # Check the results print("Original list:", fruits) # ['Apple', 'Banana', 'Cherry'] print("Modified list:", new_fruits) # ['Apple', 'Banana', 'Cherry', 'Strawberry']
copy

Neste exemplo, a lista original fruits permanece inalterada porque copy() foi usado. Sem copy(), modificar a lista dentro da função teria alterado a lista original fruits também.

Tarefa

Swipe to start coding

Nesta tarefa, você trabalhará com uma lista de preços de produtos de um supermercado. Seu objetivo é criar uma função que aplique um desconto de 10% a cada produto com preço acima de $2,00, garantindo que a lista original permaneça inalterada. Este exercício ajudará você a praticar o uso de funções, loops e manipulação de listas em Python.

Instruções de Código

  • Defina uma função chamada apply_discount(prices) que receba uma lista de preços como argumento.
  • Dentro da função, crie uma cópia da lista prices para garantir que a lista original permaneça inalterada. Atribua a cópia à variável prices_copy.
  • Use um loop for para iterar pela lista copiada usando índices.
  • Dentro do loop, verifique se cada preço excede $2,00. Se sim, aplique um desconto de 10% a esse preço.
  • Retorne a versão atualizada da lista copiada após aplicar os descontos.

Requisitos de Saída

  • A função deve retornar uma nova lista com os preços descontados.
  • Imprima a lista atualizada de preços no formato: Updated product prices: <$updated_prices>.

Nota

É importante iterar pela lista usando índices (for index in range(len(prices)):) em vez de valores (for price in prices:), pois o último apenas modifica cópias dos valores, deixando a lista original inalterada.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 6. Capítulo 4
toggle bottom row

book
Comportamento de Listas em Funções

Vamos explorar trabalhar com listas dentro de funções. Embora seja semelhante a trabalhar com números, há alguns detalhes importantes a serem observados.

Listas são mutáveis, o que significa que quaisquer alterações feitas em uma lista dentro de uma função também afetarão a lista original fora da função se passada diretamente.

Para evitar isso, você pode usar o método copy() com qualquer tipo de dado mutável. Ao fazer isso, você cria uma cópia superficial da lista, permitindo que você modifique um duplicado em vez do original. Isso garante que as alterações feitas dentro da função não impactem a lista original.

1234567891011121314
def add_strawberry(original_list): list_copy = original_list.copy() # Create a copy of the original list list_copy.append("Strawberry") # Modify the copied list return list_copy # Original list fruits = ["Apple", "Banana", "Cherry"] # Call the function new_fruits = add_strawberry(fruits) # Check the results print("Original list:", fruits) # ['Apple', 'Banana', 'Cherry'] print("Modified list:", new_fruits) # ['Apple', 'Banana', 'Cherry', 'Strawberry']
copy

Neste exemplo, a lista original fruits permanece inalterada porque copy() foi usado. Sem copy(), modificar a lista dentro da função teria alterado a lista original fruits também.

Tarefa

Swipe to start coding

Nesta tarefa, você trabalhará com uma lista de preços de produtos de um supermercado. Seu objetivo é criar uma função que aplique um desconto de 10% a cada produto com preço acima de $2,00, garantindo que a lista original permaneça inalterada. Este exercício ajudará você a praticar o uso de funções, loops e manipulação de listas em Python.

Instruções de Código

  • Defina uma função chamada apply_discount(prices) que receba uma lista de preços como argumento.
  • Dentro da função, crie uma cópia da lista prices para garantir que a lista original permaneça inalterada. Atribua a cópia à variável prices_copy.
  • Use um loop for para iterar pela lista copiada usando índices.
  • Dentro do loop, verifique se cada preço excede $2,00. Se sim, aplique um desconto de 10% a esse preço.
  • Retorne a versão atualizada da lista copiada após aplicar os descontos.

Requisitos de Saída

  • A função deve retornar uma nova lista com os preços descontados.
  • Imprima a lista atualizada de preços no formato: Updated product prices: <$updated_prices>.

Nota

É importante iterar pela lista usando índices (for index in range(len(prices)):) em vez de valores (for price in prices:), pois o último apenas modifica cópias dos valores, deixando a lista original inalterada.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 6. Capítulo 4
Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Sentimos muito que algo saiu errado. O que aconteceu?
some-alt