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 Python của Coddy. Bài học 76 trên 78.
Thử thách
Trung bìnhTạo một hàm có tên organize_contacts để xử lý danh sách từ điển liên hệ và tạo cơ sở dữ liệu liên hệ sạch.
Mỗi từ điển liên hệ trong danh sách đầu vào có các khóa sau:
name: Tên của người đóemail: Địa chỉ email của người đóphone: Số điện thoại của người đó
Hàm của bạn cần:
- Xóa các liên hệ trùng lặp (các liên hệ có cùng email hoặc số điện thoại), giữ lại lần xuất hiện đầu tiên
- Chuẩn hóa tất cả email thành chữ thường
- Loại bỏ các liên hệ có địa chỉ email không hợp lệ
- Loại bỏ các liên hệ có số điện thoại không hợp lệ
- Trả về danh sách từ điển liên hệ đã được làm sạch
Quy tắc xác thực:
- Email hợp lệ: Phải chứa '@' và '.', đồng thời không được có khoảng trắng
- Số điện thoại hợp lệ: Phải chứa chính xác 10 chữ số (bỏ qua các ký tự không phải chữ số như dấu gạch ngang hoặc dấu ngoặc đơn)
Để làm sạch số điện thoại, bạn nên dùng phương thức str.isdigit() của Python để chỉ trích xuất các chữ số từ số điện thoại. Phương thức này trả về True nếu ký tự là một chữ số (0-9) và False nếu không phải, nên rất phù hợp để lọc bỏ các ký tự không phải chữ số.
Đầu vào ví dụ:
contacts = [
{"name": "John Doe", "email": "john@email.com", "phone": "123-456-7890"}
]Đầu ra dự kiến:
[
{"name": "John Doe", "email": "john@email.com", "phone": "1234567890"}
]Tự làm thử
def organize_contacts(contact_list):
# Viết lời giải của bạn ở đây
# 1. Tạo các hàm (function) hỗ trợ kiểm tra tính hợp lệ
# - Hàm kiểm tra định dạng email
# - Hàm làm sạch và kiểm tra tính hợp lệ của số điện thoại
# 2. Xử lý từng liên hệ
# - Làm sạch email (chuyển thành chữ thường) và số điện thoại (chỉ giữ chữ số)
# - Kiểm tra email và số điện thoại có hợp lệ không
# - Kiểm tra liên hệ trùng lặp
# 3. Trả về danh sách liên hệ đã làm sạch
passTất cả bài học trong Logic và luồng chương trình
4Ứng dụng sổ liên lạc
Hiển thị menuThêm liên hệ7Tập hợp phần 2
Phép toán toán học phần 1Phép toán toán học phần 2Ôn tập: Săn tìm kho báuTập hợp con và tập hợp chaLặp qua các tập hợpÔn tập: Theo dõi giải đấu10Tạo danh sách bằng cú pháp rút gọn cơ bản
Cú phápTạo danh sách đơn giảnThêm điều kiệnSử dụng phép tổng hợp dữ liệuÔn tập: Ngôi nhà của những danh sáchÔn tập: Những phần tử tự do13Hệ thống quản lý hàng tồn kho
Tổng quan dự ánThêm mặt hàng2Từ điển phần 1
Từ điển là gì?Tạo từ điểnTruy cập giá trịChỉnh sửa từ điểnÔn tập: Trình quản lý công thức nấu ăn5Ra quyết định nâng cao
Toán tử ba ngôiKiểm tra thành viênKiểm tra danh tínhLỗi thụt lềÔn tập: Bộ lọc kỳ nghỉ8Trình quản lý hồ sơ học sinh
Tổng quan dự ánThêm học sinh3Từ điển, phần 2
Phương thức của từ điểnTừ điển lồng nhauKiểm tra khóaLặp qua từ điểnÔn tập: Bộ đếm tần suất6Tập hợp phần 1
Tập hợp là gì?Các phép toán cơ bảnCác phương thức của 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
Sử dụng tổngTìm giá trị nhỏ nhất và lớn nhấtSắp xếp dữ liệu hiệu quảÔn tập: Bộ sắp xếp từ điểnTự luyện tập: Trình biên dịch Python online