Menu
CoddyTech

Trình quản lý danh bạ thông minh

Thuộc phần Logic và luồng chương trình trong hành trình GDScript của Coddy. Bài học 76 trên 78.

challenge icon

Thử thách

Trung bình

Làm sạch danh sách liên hệ. Chương trình đọc một số nguyên n, sau đó đọc n dòng. Mỗi dòng là một liên hệ: tên, email và số điện thoại, được phân tách bằng dấu phẩy (mỗi dòng có đúng hai dấu phẩy).

Xử lý lần lượt các liên hệ:

  1. Chuyển email thành chữ thường và chỉ giữ lại các chữ số trong số điện thoại: (555) 123-4567 trở thành 5551234567
  2. Bỏ qua liên hệ nếu email không hợp lệ: email hợp lệ có @ và ., đồng thời không có dấu cách
  3. Bỏ qua liên hệ nếu số điện thoại không có đúng 10 chữ số
  4. Bỏ qua liên hệ nếu một liên hệ bạn đã giữ trước đó có cùng email hoặc cùng số điện thoại (sau khi làm sạch)

In mỗi liên hệ bạn giữ trên một dòng riêng: tên, | , email, | và các chữ số của số điện thoại. Cuối cùng, in Contacts kept: , số liên hệ bạn đã giữ, of và n.

Với các đầu vào sau:

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

đầu ra là:

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

Bỏ qua Jane vì số điện thoại của cô ấy có cùng các chữ số với số của John, và bỏ qua Bob vì email của anh ấy không có @ và số điện thoại quá ngắn.

Tự làm thử

extends Node

func _ready():
	var n := int(OS.read_string_from_stdin())
	# Đọc n liên hệ, làm sạch rồi in ra những liên hệ bạn giữ lại
	pass

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch GDScript online