Ordenar e invertir
Parte de la sección Fundamentos del Journey de GDScript de Coddy. Lección 76 de 92.
sort() coloca los elementos de un array en orden ascendente. Cambia el propio array:
var scores := [5, 1, 9, 3]
scores.sort()
print(scores)[1, 3, 5, 9]sort() no devuelve nada, así que print(scores.sort()) es un error. Primero ordena y después imprime.
Las cadenas se ordenan alfabéticamente, y las letras mayúsculas van antes que las minúsculas: ["bob", "Cleo", "ana"] se convierte en ["Cleo", "ana", "bob"].
reverse() invierte el orden actual del array, sin ordenarlo. Para ordenar en orden descendente, ordénalo primero y después inviértelo:
var hp := [7, 2, 9, 4]
hp.reverse()
print(hp)
hp.sort()
hp.reverse()
print(hp)[4, 9, 2, 7]
[9, 7, 4, 2]Asignar un array a otra variable no lo copia: ambas variables usan después el mismo array, y ordenar uno ordena el otro. Para conservar el orden original, ordena una copia creada con duplicate():
var original := [5, 3, 9]
var sorted_copy := original.duplicate()
sorted_copy.sort()
print(original, " ", sorted_copy)[5, 3, 9] [3, 5, 9]Desafío
FácilEl programa lee una línea de números enteros separados por comas en numbers (ya escrito). Imprime tres líneas:
Original:y los números en su orden originalAscending:y los números ordenados de menor a mayorDescending:y los números ordenados de mayor a menor
Para la entrada 5,3,9,1, la salida es:
Original: [5, 3, 9, 1]
Ascending: [1, 3, 5, 9]
Descending: [9, 5, 3, 1]Pruébalo tú mismo
extends Node
func _ready():
var parts := OS.read_string_from_stdin().split(",")
var numbers: Array[int] = []
for part in parts:
numbers.append(int(part))
# Escribe tu código a continuación
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosDivisión enteraOperador móduloAtajos aritméticosRepaso: matemáticas básicasOperadores de comparación7Entrada y salida básicas
SalidaSalida con variablesFormato de cadenasEntradaConversión de tipoRepaso: hasta 120Repaso: verdadero o falso10Funciones
Declarar una funciónArgumentosRetornoTipos de retornoRepaso: función SigmaRepaso: función de validaciónValores predeterminados5Operadores, parte 2
Operadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simpleOperadores lógicos, parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaCómo obtener datos3Variables, parte 2
Declaración de tiposInferencia de tiposConstantesRepaso: inicializar variablesConversión de tipos9Bucles
Bucle forBucle whileBreakContinueRepaso - FactorialLa función rangeBucle anidadoRepaso - Entrada dinámicaPractica por tu cuenta: Compilador de GDScript online