Menu
CoddyTech

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")) # 3

Bu 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()) # false

is_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()) # false

Boş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)
challenge icon

Görev

Kolay

Program 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: 42

abc 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
quiz iconKendini test et

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

Kendi başına pratik yap: Online GDScript derleyicisi