any ve all
Coddy'nin GDScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 63 / 78.
any() ve all(), bir dizinin tamamı hakkında evet-hayır sorusu sorar. Her ikisi de tek bir öğe için true veya false döndüren bir işlev alır:
any(), işlev en az bir öğe içintruedöndürürsetruedöndürür.all(), işlev her öğe içintruedöndürürsetruedöndürür.
var enemy_hp = [30, 0, 12]
print(enemy_hp.any(func(hp): return hp == 0))
print(enemy_hp.all(func(hp): return hp > 0))true
falseBir düşmanın 0 can puanı var, bu yüzden any() true olur ve aynı düşman all() değerini false yapar.
Her ikisi de yanıt bilinir bilinmez durur: any() ilk true değerinde, all() ilk false değerinde. Adlandırılmış işlevlerle de çalışırlar; örneğin numbers.all(is_even).
Boş bir dizide, any() hiçbir öğe koşulu sağlamadığı için false döndürür ve all() hiçbir öğe koşulu sağlamadığından true döndürür.
Bayrak değişkenli bir döngü yerine bunları bir koşulda kullanın:
var inventory = ["sword", "key", "rope"]
if inventory.any(func(item): return item == "key"):
print("The door opens")Görev
KolayProgram, virgülle ayrılmış puanlardan oluşan tek bir satırı okur ve bunları numbers dizisinde saklar. Bu kısım zaten yazılmıştır.
İki satır yazdır:
Any perfect:ve ardından puanlardan en az biri100isetrue, aksi hâldefalseAll passed:ve ardından her puan50veya daha yükseksetrue, aksi hâldefalse
İlk satır için any(), ikinci satır için all() kullan. 100,75,40 girdisi için çıktı şöyledir:
Any perfect: true
All passed: falseKendin dene
extends Node
func _ready():
var numbers := []
for part in OS.read_string_from_stdin().split(","):
numbers.append(int(part))
# İki satırı any() ve all() kullanarak yazdır
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1String’leri Derinlemesine İnceleme
String MetotlarıString’lerde AramaDeğiştirme ve KırpmaBölme ve BirleştirmeTekrar: Kullanıcı Adı Kontrolü4Sözlükler Bölüm 2
İç İçe SözlüklerSözlük DizileriSözlükleri BirleştirmeSözlükleri KopyalamaTekrar - Frekans Sayacı10İleri Düzey Fonksiyonlar
Birden Fazla Değer DöndürmeLambda Fonksiyonları Bölüm 1Lambda Fonksiyonları Bölüm 2Tekrar - Lambda ile SıralamaÖzyinelemeli Fonksiyonlar Bölüm 1Özyinelemeli Fonksiyonlar Bölüm 2Tekrar - İç İçe Dizilerin Toplamı13Envanter Yönetim Sistemi
Projeye Genel BakışÜrün Ekle2İleri Düzey Karar Verme
Değişkenlerle EşleştirmeEşleştirme KoşullarıDizi KalıplarıSözlük KalıplarıÜyelik KontrolleriÖzet - Komut Ayrıştırıcı5Rehber Uygulaması
Menüyü GörüntüleKişi Ekle8Öğrenci Kayıt Yöneticisi
Proje Genel BakışıÖğrenci Ekle11Üst Düzey Fonksiyonlar
map Metodufilter Metodureduce Metoduany ve allTekrar - E-posta DoğrulayıcıTekrar - Sayı İşleyici3Çok Boyutlu Diziler
2B Dizilere Giriş2B Dizi Elemanlarına Erişim2B Dizilerle İç İçe DöngülerTekrar - 2B DizilerDüzensiz DizilerYaygın 2B Dizi ÖrüntüleriTekrar - Oyun Tahtası6Sözlüklerle Kümeler
Küme Nedir?Küme Olarak SözlükEkleme ve SilmeBirleşim ve KesişimKüme FarkıTekrar: Yinelenenleri Silme9Gelişmiş Veri Toplama
Değerleri ToplamaEn Küçük ve En Büyük Değeri BulmaÖzel SıralamaÖzet - Sözlük SıralayıcıKendi başına pratik yap: Online GDScript derleyicisi