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):

  1. Độ dài ≥ 8 ký tự
  2. Chứa cả chữ hoa và chữ thường
  3. Chứa chữ số
  4. 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

  1. "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
  2. "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
  3. "abcd":

    • Độ dài < 8
    • Chỉ có chữ thường (0)
    • Tổng: 0 điểm -> Rất yếu
  4. "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

There are no comments at the moment.

Zalo