Questão nº 37
Questão de Tecnologia da Informação · FCC PGE-AM 2022 (nº 37)
Em um programa escrito em Python, uma série de dados foram inseridos no array `cargos`, por meio da instrução abaixo.
```python
cargos = ["Advogado","Promotor", "Procurador", "Juiz", "Desembargador", "Ministro"];
```
Para colocar estes dados em ordem alfabética decrescente em um novo array chamado `cargos_ordenados` utiliza-se a instrução:
- A`for cargos_ordenados in cargos reverse True;`
- B`cargos_ordenados = sorted(cargos,reverse=True);` (alternativa correta)
- C`while cargos: cargos_ordenados = cargos- -;`
- D`cargos_ordenados = descending(cargos);`
- E`cargos_ordenados = ordered(cargos, descending=True);`
Resposta comentada
Gabarito Alternativa B
Ordenar uma lista em Python significa organizar seus itens em uma sequência específica, como ordem alfabética ou numérica. A função sorted() é a forma padrão de fazer isso, criando uma nova lista com os itens organizados sem alterar a lista original.
- (A) Incorreta: A sintaxe
for cargos_ordenados in cargos reverse True;está incorreta em Python. Umforloop é usado para iterar sobre elementos, não para atribuir uma lista ordenada, ereverse Truenão é uma sintaxe válida para ordenação dentro de umforloop. - (B) Correta: A função
sorted()é a função embutida (já existente no Python) para ordenar iteráveis. Ao passarcargoscomo primeiro argumento, ela ordena os elementos. O argumentoreverse=Trueindica que a ordenação deve ser feita em ordem decrescente (do maior para o menor, ou alfabeticamente de Z a A), exatamente como solicitado. - (C) Incorreta: A sintaxe
while cargos: cargos_ordenados = cargos- -;é inválida em Python. O operador--(decremento) não existe em Python para manipulação de listas ou variáveis dessa forma, e a estrutura dowhileloop não é usada para ordenar listas. - (D) Incorreta: Não existe uma função embutida chamada
descending()em Python para ordenar listas. Esta seria uma função inventada. - (E) Incorreta: Não existe uma função embutida chamada
ordered()em Python para ordenar listas. Emboradescending=Trueseja um argumento que tenta expressar a intenção, a funçãoordered()não existe. Armadilha da banca: Esta alternativa é tentadora porque usa uma estrutura de argumento de palavra-chave (descending=True) que se assemelha à forma comosorted()recebe o argumentoreverse=True, e o nomeorderedsoa como uma função de ordenação. No entanto, o nome da função está incorreto.
Fonte: FCC PGE-AM 2022 Técnico em Gestão Procuratorial - Especialidade Engenharia de Software (Caderno Tipo 001). Reproduzida para fins de estudo.