Ordenar e inverter
Parte da seção Fundamentos do Journey de GDScript da Coddy. Lição 76 de 92.
sort() coloca os elementos de um array em ordem crescente. Ele altera o próprio array:
var scores := [5, 1, 9, 3]
scores.sort()
print(scores)[1, 3, 5, 9]sort() não retorna nada, então print(scores.sort()) é um erro. Primeiro, ordene e depois imprima.
As strings são ordenadas alfabeticamente, e as letras maiúsculas vêm antes das minúsculas: ["bob", "Cleo", "ana"] se transforma em ["Cleo", "ana", "bob"].
reverse() inverte a ordem atual do array, sem ordená-lo. Para ordenar em ordem decrescente, ordene primeiro e depois inverta:
var hp := [7, 2, 9, 4]
hp.reverse()
print(hp)
hp.sort()
hp.reverse()
print(hp)[4, 9, 2, 7]
[9, 7, 4, 2]Atribuir um array a outra variável não o copia: ambas as variáveis passam a usar o mesmo array, e ordenar um ordena o outro. Para manter a ordem original, ordene uma cópia feita com duplicate():
var original := [5, 3, 9]
var sorted_copy := original.duplicate()
sorted_copy.sort()
print(original, " ", sorted_copy)[5, 3, 9] [3, 5, 9]Desafio
FácilO programa lê uma linha de números inteiros separados por vírgulas em numbers (já escrito). Imprima três linhas:
Original:e os números na ordem originalAscending:e os números ordenados do menor para o maiorDescending:e os números ordenados do maior para o menor
Para a entrada 5,3,9,1, a saída é:
Original: [5, 3, 9, 1]
Ascending: [1, 3, 5, 9]
Descending: [9, 5, 3, 1]Experimente você mesmo
extends Node
func _ready():
var parts := OS.read_string_from_stdin().split(",")
var numbers: Array[int] = []
for part in parts:
numbers.append(int(part))
# Escreva seu código abaixo
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores - Parte 1
Operadores aritméticosDivisão inteiraOperador móduloAtalhos aritméticosRevisão - Matemática básicaOperadores de comparação7Entrada e Saída Básicas
SaídaSaída com VariáveisFormatação de StringsEntradaConversão de TipoRevisão - Até 120Revisão - Verdadeiro ou Falso10Funções
Declare uma funçãoArgumentosRetornoTipos de retornoRevisão - Função SigmaRevisão - Função de validaçãoValores padrão13Percorrendo Arrays
Percorrendo elementosPercorrendo com índicesPercorrendo strings — Parte 1Percorrendo strings — Parte 216Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Revisão - Lógica simplesOperadores lógicos Parte 3Operador ternário8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo Dados de Entrada11FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz3Variáveis - Parte 2
Declaração de tipoInferência de tipoConstantesRevisão - Inicialização de variáveisConversão de tipo6Tomada de decisões
Instrução ifIf - ElseRevisão - Calculadora simplesIf - Else aninhadoInstrução match9Laços de repetição
Laço forLaço whileInterromperContinuarRevisão - FatorialA função rangeLaço aninhadoRevisão - Entrada dinâmicaPratique por conta própria: Compilador de GDScript online