JavaScript is required

Câu hỏi:

Giáo viên yêu cầu học sinh giải bài toán sau bằng ngôn ngữ lập trình Python: Một mật khẩu là một chuỗi kí tự. Mật khẩu được gọi là mạnh nếu có ít nhất một chữ cái thường, ít nhất một chữ cái in hoa, ít nhất một chữ số. Hãy viết chương trình kiểm tra một mật khẩu có phải là mạnh hay không.

Một bạn học sinh đã viết chương trình để giải quyết bài toán trên như sau:

Giáo viên yêu cầu học sinh giải bài toán sau bằng ngôn ngữ lập trình Python: Một mật khẩu là một chuỗi kí tự. Mật khẩu được gọi là mạnh nếu có ít nhất một chữ cái thường, ít nhất một chữ cái in hoa, ít nhất một chữ số. Hãy viết chương trình kiểm tra một mật khẩu có phải là mạnh hay không. Một bạn học sinh đã viết chương trình để giải quyết bài toán trên như sau: Sau đây là nhận xét của các bạn trong lớp về chương trình trên: a. Vòng lặp trên dòng 5 cho phép duyệt qua lần lượt từng kí tự trong chuỗi matkhau. b. Chương trình đã sử dụng kĩ thuật tìm kiếm tuần tự để tìm kiếm và đếm số lượng các kí tự thuộc nhóm tương ứng. c. Khi chạy chương trình và nhập chuỗi “Fit@!@”, chương trình sẽ hiển thị kết quả là: Đây KHÔNG là mật khẩu mạnh d. Cần thay lệnh else trong dòng 8 bởi lệnh sau thì chương trình sẽ đúng: elif c>='0' and c<='9': chuso += 1 (ảnh 1)

Sau đây là nhận xét của các bạn trong lớp về chương trình trên:

a. Vòng lặp trên dòng 5 cho phép duyệt qua lần lượt từng kí tự trong chuỗi matkhau.

b. Chương trình đã sử dụng kĩ thuật tìm kiếm tuần tự để tìm kiếm và đếm số lượng các kí tự thuộc nhóm tương ứng.

c. Khi chạy chương trình và nhập chuỗi “Fit@!@”, chương trình sẽ hiển thị kết quả là:

Đây KHÔNG là mật khẩu mạnh

d. Cần thay lệnh else trong dòng 8 bởi lệnh sau thì chương trình sẽ đúng:

elif c>='0' and c<='9': chuso += 1

Trả lời:

Đáp án đúng:


Ta có thể phân tích chương trình như sau:
  • Dòng 5: Vòng lặp for c in matkhau: cho phép duyệt qua từng kí tự trong chuỗi matkhau. Nhận xét a đúng.
  • Chương trình sử dụng kỹ thuật tìm kiếm tuần tự để kiểm tra từng kí tự và đếm số lượng các kí tự thuộc nhóm tương ứng. Nhận xét b đúng.
  • Với đầu vào “Fit@!@”:
    • chuthuong = 0, chuhoa = 0, chuso = 0
    • Vòng lặp 1: c = “F”, chuhoa = 1
    • Vòng lặp 2: c = “i”, chuthuong = 1
    • Vòng lặp 3: c = “t”, chuthuong = 1
    • Vòng lặp 4: c = “@”
    • Vòng lặp 5: c = “!”
    • Vòng lặp 6: c = “@”
    • Kết quả: chuhoa > 0 and chuthuong > 0 and chuso > 0 (1 > 0 and 1 > 0 and 0 > 0) đánh giá là False.
      Chương trình hiển thị: “Đây KHÔNG là mật khẩu mạnh”. Nhận xét c đúng.
  • Dòng 8 của chương trình là lệnh else, đặt trước lệnh elif. Điều này làm cho chữ số không bao giờ được đếm. Vì vậy, nhận xét d đúng.
Tất cả các nhận định a, b, c, d đều đúng. Vì đề bài yêu cầu chọn ra nhận xét đúng về chương trình, và chỉ có một đáp án đúng duy nhất, nên có lẽ có sự nhầm lẫn trong câu hỏi hoặc các lựa chọn.

Câu hỏi này thuộc đề thi trắc nghiệm dưới đây, bấm vào Bắt đầu thi để làm toàn bài

Câu hỏi liên quan