O comando, em Python, utilizado para criar uma lista de números de 1 a 10, inclusive, é
Alist(range (1, 10))
Blist(range (1, 11))
Clist(range (0, 10))
Drange(0, 10)
Erange(1, 10)
Revelar gabarito e comentário▾
GabaritoB — list(range (1, 11))
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Python: a função range() e a criação de listas
Gabarito: letra B. Em Python, a função range(1, 11) gera a sequência de números inteiros de 1 a 10, pois o parâmetro stop é exclusivo — ou seja, a sequência vai até o valor imediatamente anterior ao limite final. Ao envolver com list(), obtemos exatamente [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], que é a lista pedida no enunciado.
A função range() é uma das funções embutidas mais utilizadas em Python, especialmente em laços for. Ela pode ser chamada de três formas distintas: range(stop), range(start, stop) e range(start, stop, step). Em todas as variações, o parâmetro stopnunca é incluído na sequência gerada — essa é a característica central que define o comportamento da função e o ponto exato que a banca explora nesta questão.
Vamos entender o funcionamento com um exemplo prático. Se escrevemos range(1, 11), o Python gera a sequência começando em 1 e adicionando 1 a cada passo, até chegar ao valor 10. O número 11, que é o stop, fica de fora. O resultado é a sequência 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. Para transformar essa sequência em uma lista, usamos a função list(), que converte qualquer objeto iterável em uma lista. Assim, list(range(1, 11)) produz [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].
A confusão mais comum neste tema é esquecer que o limite superior é exclusivo. Muitos candidatos, ao verem range(1, 10), acreditam que a sequência inclui o 10, mas na verdade ela termina no 9. Essa é a pegadinha clássica: o número que aparece como segundo argumento não faz parte da sequência. Para incluir o número 10, é necessário usar 11 como limite superior.
Outra distinção importante é entre range() e list(). A função range() retorna um objeto do tipo range, que é um iterável que gera os números sob demanda — ele não armazena todos os valores na memória de uma vez. Já list() materializa esses valores em uma lista real, que ocupa espaço na memória e pode ser indexada, modificada e percorrida como qualquer outra lista. Nesta questão, o enunciado pede explicitamente uma "lista", então é obrigatório usar list() para converter o objeto range em uma lista de fato.
A banca explora exatamente essa fronteira entre o que a função range() gera e o que a função list() materializa. As alternativas que usam apenas range() sem list() estão incorretas porque não produzem uma lista, e as que usam range() com o limite superior errado estão incorretas porque não incluem o número 10. A única alternativa que acerta os dois pontos — usar list() e usar o limite superior correto — é a letra B.
1range(1, 11)
2stop é exclusivo
3list() converte
4[1..10]
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
list(range(1, 10)) gera a lista [1, 2, 3, 4, 5, 6, 7, 8, 9]. O erro está no limite superior: como o stop é exclusivo, o número 10 não é incluído. Para incluir o 10, seria necessário usar range(1, 11). Esta alternativa é a pegadinha mais comum, pois o candidato vê o número 10 no código e assume que ele faz parte da sequência.
Alternativa B — ✅ Correta ⟵ GABARITO
list(range(1, 11)) gera exatamente a sequência 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 e a converte em uma lista. O range(1, 11) começa em 1 e vai até 10 (o 11 é exclusivo), e o list() materializa esses valores em uma lista. Esta é a única alternativa que atende aos dois requisitos do enunciado: ser uma lista e conter os números de 1 a 10, inclusive.
Alternativa C — ❌ Incorreta
list(range(0, 10)) gera a lista [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]. Há dois erros: começa em 0 (o enunciado pede de 1 a 10) e termina em 9 (o 10 não é incluído). O limite superior 10 é exclusivo, então o último elemento é 9.
Alternativa D — ❌ Incorreta
range(0, 10) não é uma lista, é um objeto do tipo range. Além disso, mesmo que fosse convertido com list(), geraria [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], que não atende ao enunciado. O erro é duplo: falta o list() e o intervalo está errado.
Alternativa E — ❌ Incorreta
range(1, 10) também não é uma lista, é um objeto range. E, mesmo convertido, geraria [1, 2, 3, 4, 5, 6, 7, 8, 9], sem o número 10. O erro é duplo: falta o list() e o limite superior está errado.
A regra de ouro para questões com range(): o segundo argumento é sempre exclusivo. Para incluir o número N na sequência, use range(início, N+1). E, se o enunciado pedir uma lista, não esqueça de envolver com list().
NÃO CAIA NESSA!
A banca explora a confusão entre o limite superior exclusivo do range() e a inclusão do número 10. O candidato vê range(1, 10) e assume que o 10 está incluído, mas na verdade a sequência termina no 9. Para incluir o 10, é preciso usar range(1, 11). Essa é a armadilha clássica desta questão — e a alternativa A é exatamente a isca.
PEGA ESSA DICA!
Na hora da prova, teste mentalmente com um exemplo pequeno: range(1, 5) gera [1, 2, 3, 4] — o 5 fica de fora. Essa lógica se aplica a qualquer intervalo. Se o enunciado pedir "de 1 a 10, inclusive", o segundo argumento deve ser 11. E lembre-se: range() sozinho não é lista; use list() para converter.