הכול ביחד
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-GDScript של Coddy. שיעור 30 מתוך 78.
אתגר
קלהשלב האחרון מסדר את הלולאה ומטפל בבחירות שגויות. השאירו את כל מה שכתבתם בשלבים הקודמים.
- החליפו את שרשרת
if/elifבלולאה בהצהרתmatch choice:, עם תבנית אחת לכל בחירה מ-"1"עד"6".breakבתוך תבנית עדיין יוצא מלולאתwhile. - הוסיפו את תבנית ברירת המחדל
_:לכל בחירה אחרת. היא מדפיסה:
Invalid choice. Please try again.אחרי ההודעה, הלולאה מציגה את התפריט וקוראת את הבחירה הבאה, כמו קודם.
נסו בעצמכם
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 == "5":
list_all_contacts(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!")
func list_all_contacts(contact_book: Dictionary) -> void:
if contact_book.is_empty():
print("No contacts available.")
else:
for contact_name in contact_book:
var contact: Dictionary = contact_book[contact_name]
print("Name: ", contact_name)
print("Phone: ", contact["phone"])
print("Email: ", contact["email"])
print("Address: ", contact["address"])
print()
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
2קבלת החלטות מתקדמת
התאמה עם משתניםתנאי סף להתאמהתבניות מערכיםתבניות מילוניםבדיקות חברותסיכום – מנתח פקודות5אפליקציית ספר אנשי קשר
הצגת התפריטהוספת איש קשר8מנהל רשומות תלמידים
סקירת הפרויקטהוספת תלמידתרגלו בעצמכם: קומפיילר GDScript אונליין