Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — INSTITUTO AOCP 2023

ProgramaçãoLinguagens de programação
Código
qq971014
Banca
INSTITUTO AOCP
Órgão
IF-MA
Ano
2023
Nível
Superior
Cargo
Analista De Tecnologia Da Informação - Desenvolvimento De Sistemas
Você está trabalhando em um projeto Python 3.X que exige a implementação de um algoritmo que processa grandes quantidades de dados de forma eficiente. Para isso, você decide criar uma função que recebe uma lista de números inteiros e retorna uma nova lista com os números pares elevados ao quadrado e os números ímpares elevados ao cubo. Além disso, a função deve ter uma complexidade de tempo de O(n). Qual implementação atende a esses requisitos?
  1. Adef process_numbers(numbers):even_squared = [x**2 for x in numbers ifx % 2 == 0]odd_cubed = [x**3 for x in numbers ifx % 2 != 0] return even_squared + odd_cubed
  2. Bdef process_numbers(numbers):result = []for x in numbers:if x % 2 == 0: result.append(x**2)else: result.append(x**3)return result
  3. Cdef process_numbers(numbers):result = [x**2 if x % 2 == 0 else x**3 for xin numbers]return result
  4. Ddef process_numbers(numbers):even_squared = list(filter(lambda x: x %2 == 0, numbers))odd_cubed = list(filter(lambda x: x % 2 !=0, numbers))return [x**2 for x in even_squared] +[x**3 for x in odd_cubed]
  5. Edef process_numbers(numbers):even_squared = map(lambda x: x**2,filter(lambda x: x % 2 == 0, numbers))odd_cubed = map(lambda x: x**3,filter(lambda x: x % 2 != 0, numbers))return list(even_squared) +list(odd_cubed)
Revelar gabarito e comentário

GabaritoC — def process_numbers(numbers): result = [x**2 if x % 2 == 0 else x**3 for x in numbers] return result

Link permanente: /questoes/qq971014