Girdiyi Doğrulama
Coddy'nin GDScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 67 / 78.
Girdi metin olarak gelir ve int() herhangi bir metni şikâyet etmeden dönüştürür. Metin tam sayı olmadığında hata yerine yanlış bir değer elde edersin:
print(int("abc")) # 0
print(int("12abc")) # 12
print(int("3.14")) # 3Bu yüzden metni dönüştürmeden önce kontrol edin. is_valid_int(), metnin tamamı bir tam sayı olduğunda true döndürür:
print("42".is_valid_int()) # true
print("-15".is_valid_int()) # true
print("3.14".is_valid_int()) # false
print("abc".is_valid_int()) # false
print("".is_valid_int()) # falseis_valid_float() ondalık sayılar için de aynı şeyi yapar. Tam sayıları da kabul eder, çünkü 5 geçerli bir float değeridir:
print("3.14".is_valid_float()) # true
print("5".is_valid_float()) # true
print("five".is_valid_float()) # falseBoşluklar karakter olarak sayılır: " 99 ".is_valid_int() sonucu false olur. Girdinin başında veya sonunda boşluklar olabilecekse önce strip_edges() çağırın.
Geçerli bir sayı yine de yanlış bir değer olabilir. Dönüştürme işleminden sonra, programınızın izin verdiği aralıkta olup olmadığını kontrol edin:
var text := OS.read_string_from_stdin()
if not text.is_valid_int():
print("Please enter a whole number")
else:
var age := int(text)
if age < 0 or age > 120:
print("Age must be between 0 and 120")
else:
print("Age: ", age)Görev
KolayProgram bir satır girdi okur. Dönüştürmeden önce kontrol et:
- Bir tam sayıysa, önce
You entered:sonra sayıyı yazdır - Aksi takdirde,
Invalid input! Please enter a valid number.yazdır
42 girdisi için çıktı:
You entered: 42abc ve 3.14 girdileri için çıktı:
Invalid input! Please enter a valid number.Metni değil, dönüştürülmüş sayıyı yazdır: 007 girdisi için çıktı You entered: 7 olur.
Kendin dene
extends Node
func _ready():
var user_input := OS.read_string_from_stdin()
# Girdiyi kontrol et, ardından sayıyı veya hata mesajını yazdır
pass
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ı12Temel Hata Yönetimi
Hata Yönetimi Nedir?Girdiyi DoğrulamaKoruma KoşullarıHata Kodları DöndürmeTekrar - Güvenli BölmeKendi başına pratik yap: Online GDScript derleyicisi