Menu
CoddyTech

Mencari Nilai Minimum dan Maksimum

Termasuk bagian Logika dan Alur dalam perjalanan GDScript di Coddy. Pelajaran 50 dari 78.

array memiliki method min() dan max(), yang mengembalikan elemen terkecil dan terbesar:

var temps := [18, 25, 9, 31, 22]
print(temps.min()) # 9
print(temps.max()) # 31

Fungsi global min() dan max() membandingkan angka yang kamu berikan, yang berguna untuk dua atau tiga nilai:

print(max(4, 12, 7)) # 12
var hp: int = min(120, 100) # 100, tidak pernah melebihi 100

string dibandingkan karakter demi karakter berdasarkan kode Unicode-nya. Setiap huruf kapital berada sebelum setiap huruf kecil:

var words := ["kiwi", "apple", "Fig"]
print(words.min()) # Fig
print(words.max()) # kiwi

Aturan yang sama berlaku untuk angka yang disimpan sebagai teks: "9" lebih besar daripada "56", karena karakter 9 muncul setelah 5. Konversi input dengan int() sebelum membandingkan angka.

Pada array kosong, kedua method mengembalikan null. Untuk menemukan di mana nilai terbesar berada, berikan nilai itu ke find(): temps.find(temps.max()) menghasilkan 3. Untuk dictionary, ambil nilai terbesar dari nilai-nilainya, lalu cari key-nya dengan find_key(), yang mengembalikan key pertama dengan nilai tersebut:

var scores := {"Mia": 120, "Leo": 95, "Ana": 140}
var best: int = scores.values().max()
print(scores.find_key(best), " ", best) # Ana 140

max() mengembalikan nilai dengan tipe apa pun, jadi nyatakan tipe variabelnya (var best: int), bukan menulis :=.

challenge icon

Tantangan

Mudah

Program membaca dua baris: bilangan bulat yang dipisahkan oleh spasi, dan kata-kata yang dipisahkan oleh spasi. Setiap baris memiliki setidaknya satu nilai.

Cetak angka terkecil dan terbesar, lalu kata terkecil dan terbesar, dengan min() dan max(). Bandingkan angka sebagai angka, bukan sebagai teks. Untuk input 42 17 23 56 9 34 dan kiwi apple banana cherry date, outputnya adalah:

Smallest number: 9
Largest number: 56
Smallest word: apple
Largest word: kiwi

Coba sendiri

extends Node

func _ready():
	var number_texts := OS.read_string_from_stdin().split(" ", false)
	var words := Array(OS.read_string_from_stdin().split(" ", false))
	# Ubah angka-angka menjadi int, lalu cetak keempat hasilnya
	pass
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler GDScript online