Qual dos seguintes códigos Python exibe a soma de todos os números de 1 a 10?
(A) -
print(sum(range(1, 11)))
(B) -
print(range(1, 11).sum())
(C) -
print(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10)
(D) -
print(sum([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]))
(E) -
print(sum(i for i in range(1, 11)))
Explicação
O código utiliza a função sum()
para somar os elementos de uma lista. A lista range(1, 11)
é gerada usando a função range()
, que cria uma lista de números inteiros de forma sequencial. Nesse caso, a lista contém os números de 1 a 10. A função sum()
soma todos esses números e exibe o resultado.
Análise das alternativas
As demais alternativas apresentam códigos Python que também podem ser usados para somar os números de 1 a 10, mas são menos eficientes ou menos elegantes:
- (B): O código
print(range(1, 11).sum())
é funcionalmente equivalente ao código (A), mas é um pouco mais verboso. - (C): O código
print(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10)
é uma forma mais manual de somar os números, mas é menos eficiente e mais propensa a erros. - (D): O código
print(sum([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]))
é funcionalmente equivalente ao código (A), mas é um pouco mais verboso e requer a criação explícita de uma lista de números. - (E): O código
print(sum(i for i in range(1, 11)))
é uma forma mais concisa de somar os números usando uma compreensão de lista, mas pode ser menos intuitiva para alunos iniciantes.
Conclusão
O código (A) é a melhor opção para exibir a soma de todos os números de 1 a 10. Ele é eficiente, elegante e fácil de entender.