Tüm Kişileri Listele
Coddy'nin GDScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 29 / 78.
Görev
Kolay5 seçeneğini ele alarak tüm kişileri listele. Önceki adımlarda yazdığın her şeyi koru.
list_all_contacts(contact_book: Dictionary) fonksiyonunu yaz. Bu fonksiyon girdi okumaz. contact_book boşsa şunu yazdırır:
No contacts available.Aksi takdirde, eklenme sırasına göre tüm kişileri, view_contact() ile aynı dört satırlı biçimde ve ardından boş bir satır gelecek şekilde yazdırır. Kişi defterinde Alice ve Bob varsa çıktı şöyledir:
Name: Alice
Phone: 123-456-7890
Email: alice@example.com
Address: 123 Main St
Name: Bob
Phone: 234-567-8901
Email: bob@example.com
Address: 456 Oak AveDöngüye, "5" için list_all_contacts(contact_book) fonksiyonunu çağıran bir elif dalı ekle.
Kendin dene
extends Node
func _ready():
var contact_book := {}
while true:
display_menu()
var choice := OS.read_string_from_stdin()
if choice == "1":
add_contact(contact_book)
elif choice == "2":
view_contact(contact_book)
elif choice == "3":
edit_contact(contact_book)
elif choice == "4":
delete_contact(contact_book)
elif choice == "6":
break
func display_menu() -> void:
print("Contact Book Menu:")
print("1. Add Contact")
print("2. View Contact")
print("3. Edit Contact")
print("4. Delete Contact")
print("5. List All Contacts")
print("6. Exit")
func add_contact(contact_book: Dictionary) -> void:
var contact_name := OS.read_string_from_stdin()
if contact_book.has(contact_name):
print("Contact already exists!")
return
var phone := OS.read_string_from_stdin()
var email := OS.read_string_from_stdin()
var address := OS.read_string_from_stdin()
contact_book[contact_name] = {"phone": phone, "email": email, "address": address}
print("Contact added successfully!")
func view_contact(contact_book: Dictionary) -> void:
var contact_name := OS.read_string_from_stdin()
if contact_book.has(contact_name):
var contact: Dictionary = contact_book[contact_name]
print("Name: ", contact_name)
print("Phone: ", contact["phone"])
print("Email: ", contact["email"])
print("Address: ", contact["address"])
else:
print("Contact not found!")
func edit_contact(contact_book: Dictionary) -> void:
var contact_name := OS.read_string_from_stdin()
if contact_book.has(contact_name):
var contact: Dictionary = contact_book[contact_name]
var phone := OS.read_string_from_stdin()
var email := OS.read_string_from_stdin()
var address := OS.read_string_from_stdin()
if phone != "":
contact["phone"] = phone
if email != "":
contact["email"] = email
if address != "":
contact["address"] = address
print("Contact updated successfully!")
else:
print("Contact not found!")
func delete_contact(contact_book: Dictionary) -> void:
var contact_name := OS.read_string_from_stdin()
if contact_book.has(contact_name):
contact_book.erase(contact_name)
print("Contact deleted successfully!")
else:
print("Contact not found!")
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