Menu
CoddyTech
flag Ar iconالعربيةdown icon

مدير جهات الاتصال الذكي

جزء من قسم المنطق وتدفّق التنفيذ في رحلة GDScript على Coddy. الدرس 76 من 78.

challenge icon

التحدي

متوسط

نظّف قائمة جهات اتصال. يقرأ البرنامج عددًا صحيحًا n، ثم n أسطر. كل سطر يمثل جهة اتصال: اسمًا وبريدًا إلكترونيًا ورقم هاتف، مفصولة بفواصل (يحتوي كل سطر على فاصلتين بالضبط).

عالج جهات الاتصال بالترتيب:

  1. اكتب البريد الإلكتروني بأحرف صغيرة، واحتفظ بالأرقام فقط من رقم الهاتف: يصبح (555) 123-4567 بالشكل 5551234567
  2. تجاوز جهة الاتصال إذا لم يكن البريد الإلكتروني صالحًا: يحتوي البريد الإلكتروني الصالح على @ و.، ولا يحتوي على مسافات
  3. تجاوز جهة الاتصال إذا لم يتكوّن رقم الهاتف من 10 أرقام بالضبط
  4. تجاوز جهة الاتصال إذا كان لجهة اتصال احتفظت بها سابقًا البريد الإلكتروني نفسه أو رقم الهاتف نفسه (بعد التنظيف)

اطبع كل جهة اتصال تحتفظ بها في سطر مستقل: الاسم، ثم | ، ثم البريد الإلكتروني، ثم | وأرقام الهاتف. أخيرًا، اطبع Contacts kept: ، وعدد جهات الاتصال التي احتفظت بها، ثم of وn.

بالنسبة إلى المدخلات التالية:

3
John Doe,JOHN@email.com,123-456-7890
Jane Doe,jane@email.com,123.456.7890
Bob Smith,invalid.email,12345

يكون الناتج:

John Doe | john@email.com | 1234567890
Contacts kept: 1 of 3

يتم تجاوز Jane لأن رقم هاتفها يحتوي على الأرقام نفسها الموجودة في رقم هاتف John، ويتم تجاوز Bob لأن بريده الإلكتروني لا يحتوي على @ ورقم هاتفه قصير جدًا.

جرّب بنفسك

extends Node

func _ready():
	var n := int(OS.read_string_from_stdin())
	# اقرأ n من جهات الاتصال، ونظّفها، واطبع ما تحتفظ به منها
	pass

جميع دروس المنطق وتدفّق التنفيذ

تدرّب بنفسك: مترجم GDScript عبر الإنترنت