Python Bài 5.B2: Xử Lý Mật Khẩu
LÀM BÀI
Points:
15 (partial)
Time limit:
0.0s
Memory limit:
64M
Author:
Problem type
Allowed languages
Python
Mô tả bài toán
Cho một danh sách mật khẩu, kiểm tra độ mạnh và đề xuất cải thiện. Một mật khẩu được đánh giá như sau:
Điểm mạnh (mỗi tiêu chí +1 điểm):
- Độ dài ≥ 8 ký tự
- Chứa cả chữ hoa và chữ thường
- Chứa chữ số
- Chứa ký tự đặc biệt (@, #, $, %, &)
Đề xuất cải thiện:
- Điểm 0-1: Rất yếu, cần tạo mật khẩu mới
- Điểm 2: Yếu, thêm số và ký tự đặc biệt
- Điểm 3: Khá, thêm loại ký tự còn thiếu
- Điểm 4: Mạnh, giữ nguyên
INPUT FORMAT
- Dòng 1: Số nguyên N (1 ≤ N ≤ 10) - số lượng mật khẩu
- N dòng tiếp theo: Mỗi dòng một mật khẩu
OUTPUT FORMAT
Với mỗi mật khẩu:
- Dòng 1: Điểm đánh giá và mức độ
- Dòng 2: Đề xuất cải thiện
Ví dụ
Input
4
password123
Abcd@1234
abcd
Secure#Pass99
Output
2 điểm - Yếu
-> Thêm số và ký tự đặc biệt
4 điểm - Mạnh
-> Giữ nguyên
0 điểm - Rất yếu
-> Cần tạo mật khẩu mới
4 điểm - Mạnh
-> Giữ nguyên
Giải thích
"password123":
- Độ dài ≥ 8 (+1)
- Chứa chữ số (+1)
- Không có chữ hoa và ký tự đặc biệt
- Tổng: 2 điểm -> Yếu
"Abcd@1234":
- Độ dài ≥ 8 (+1)
- Chứa cả hoa và thường (+1)
- Chứa chữ số (+1)
- Chứa ký tự đặc biệt @ (+1)
- Tổng: 4 điểm -> Mạnh
"abcd":
- Độ dài < 8
- Chỉ có chữ thường (0)
- Tổng: 0 điểm -> Rất yếu
"Secure#Pass99":
- Độ dài ≥ 8 (+1)
- Chứa cả hoa và thường (+1)
- Chứa chữ số (+1)
- Chứa ký tự đặc biệt # (+1)
- Tổng: 4 điểm -> Mạnh
Comments