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.
Thử thách
Trung bìnhLà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ệ:
- 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-4567trở thành5551234567 - 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 - Bỏ qua liên hệ nếu số điện thoại không có đúng
10chữ số - 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 3Bỏ 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
1Chuyên sâu về chuỗi
Các phương thức của chuỗiTìm kiếm trong chuỗiThay thế và xóa khoảng trắngTách và nốiÔn tập: Kiểm tra tên người dùng7Kiểu liệt kê
Kiểu liệt kê là gì?Định nghĩa kiểu liệt kêCác giá trị của kiểu liệt kêKiểu liệt kê trong matchÔn tập: đèn giao thông10Hàm nâng cao
Trả về nhiều giá trịHàm lambda phần 1Hàm lambda phần 2Ôn tập: sắp xếp bằng lambdaHàm đệ quy phần 1Hàm đệ quy phần 2Ôn tập: tính tổng mảng lồng nhau13Hệ thống quản lý hàng tồn kho
Tổng quan dự ánThêm mặt hàng2Ra quyết định nâng cao
So khớp với biếnĐiều kiện bảo vệ trong so khớpMẫu mảngMẫu từ điểnKiểm tra thành viênÔn tập: Bộ phân tích lệnh5Ứng dụng sổ liên lạc
Hiển thị menuThêm liên hệ8Trình quản lý hồ sơ học sinh
Tổng quan dự ánThêm học sinh3Mảng nhiều chiều
Cơ bản về mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuVòng lặp lồng nhau với mảng 2 chiềuÔn tập: mảng 2 chiềuMảng răng cưaCác mẫu phổ biến với mảng 2 chiềuÔn tập: bàn cờ6Tập hợp với từ điển
Tập hợp là gì?Từ điển như một tập hợpThêm và xóaHợp và giaoHiệu tập hợpÔn tập: Xóa phần tử trùng lặp9Tổng hợp dữ liệu nâng cao
Tính tổng các giá trịTìm giá trị nhỏ nhất và lớn nhấtSắp xếp tùy chỉnhÔn tập: Sắp xếp từ điểnTự luyện tập: Trình biên dịch GDScript online