Xác thực mật khẩu trong python bằng vòng lặp while

# Xác thực mật khẩu Mục tiêu của bài tập này là giúp bạn làm quen với các vòng lặp. Trong Phần 1, bạn sẽ thực hành nhiều loại vòng lặp khác nhau. Trong Phần 2, bạn sẽ thực hiện một chương trình giúp người dùng chọn một mật khẩu mạnh. . Phần. Tiết diện. . ---------------. -----------------------------------------------. . 1 [trong phòng thí nghiệm]. [Thực hành với vòng lặp][#part1]. . 1 [trong phòng thí nghiệm]. [Hướng dẫn đăng ký][#checkin]. . 2 [phòng thí nghiệm/nhà]. [Xác thực mật khẩu][#part2]. . 2 [phòng thí nghiệm/nhà]. [Hướng dẫn gửi][#submission]. ## Phần 1. Thực hành với các vòng lặp Phòng thí nghiệm này sẽ giúp bạn thực hành sử dụng các loại vòng lặp khác nhau. #### Bắt đầu Tạo một dự án mới có tên `Kiểm tra mật khẩu` trong `CSCI051p-Workspace` mà bạn đã tạo trên Màn hình của mình. *Kiểm tra kỹ xem bạn có đang tạo dự án đúng chỗ không, nếu không bạn sẽ gặp khó khăn khi tìm tệp của mình sau này. * Sau đó tải xuống [tệp bắt đầu][loops. py] cho phần một, `vòng lặp. py`, và sao chép nó vào thư mục [được tạo gần đây] `CSCI051p-Workspace/PasswordChecking`. Nếu bạn không thấy tệp mới, hãy yêu cầu PyCharm quét lại thư mục đó bằng cách nhấp vào hình tam giác bên cạnh thư mục đó [ở danh sách bên trái] để đóng và mở lại. Các vòng lặp `mới được thêm vào. py` bây giờ sẽ hiển thị. Nếu bạn bấm đúp vào nó [trong danh sách bên trái], tệp đó sẽ xuất hiện trong cửa sổ chỉnh sửa chính. Trong tệp, bạn sẽ thấy ba vấn đề, mỗi vấn đề được theo sau bởi một nhận xét một dòng `# TODO`. Thay thế từng nhận xét `# TODO` này bằng một giải pháp cho vấn đề đó. #### Vấn đề 1 Triển khai mã Python yêu cầu người dùng chọn màu cơ bản yêu thích của họ [đỏ, vàng hoặc xanh dương] và đếm xem họ phải thử bao nhiêu lần để chọn một màu. Bạn phải sử dụng vòng lặp while để giải quyết vấn đề này. Nó là tốt để bỏ qua chữ in hoa. nói cách khác, sẽ không sao nếu mã của bạn không nhận ra "ĐỎ" là màu chính. ##### Chạy mẫu ``` Màu cơ bản yêu thích của bạn là gì. đỏ, vàng, hay xanh dương? . Màu cơ bản yêu thích của bạn là gì? . Màu cơ bản yêu thích của bạn là gì? . ``` #### Vấn đề 2 Triển khai mã Python yêu cầu người dùng nhập hai số nguyên dương rồi in tổng của các số chẵn giữa các số nguyên đó. Nếu một trong những số nguyên đó là số chẵn, bạn nên bao gồm giá trị đó. Đối với sự cố này, bạn có thể cho rằng người dùng của mình thực hiện đúng hướng dẫn và chỉ nhập các số nguyên dương. Bạn phải sử dụng vòng lặp for để giải quyết vấn đề này. ##### Chạy mẫu ``` Nhập một số nguyên. 1 Nhập một số nguyên khác 10 Tổng của các số chẵn trong phạm vi [1, 10] là 30 ``` #### Vấn đề 3 Triển khai mã Python hỏi người dùng một chuỗi và sau đó đếm số nguyên âm [a, . Bạn có thể cho rằng người dùng chỉ sử dụng chữ thường. Bạn phải sử dụng vòng lặp for để giải quyết vấn đề này ##### Chạy mẫu ``` Nhập một chuỗi. Xin chào "Xin chào" chứa 4 nguyên âm ``` #### Đang kiểm tra Tìm một kỹ thuật viên hoặc người hướng dẫn phòng thí nghiệm của bạn và giới thiệu mã của bạn. Họ sẽ xem qua mã của bạn, yêu cầu bạn chạy mã của mình với nhiều đầu vào khác nhau và thưởng cho bạn điểm cho Phần 1. Điều này phải được hoàn thành trước khi rời khỏi phòng thí nghiệm. Sau đó, bạn nên bắt đầu làm việc trên Phần 2. ## Phần 2. Kiểm tra mật khẩu #### Thông tin cơ bản Một startup mới, CoolGamzRUs, cần người dùng chọn tên người dùng và mật khẩu khi họ tạo tài khoản mới. Tuy nhiên, CoolGamzRUs muốn đảm bảo rằng người dùng của họ không chọn mật khẩu yếu [như `123456`], vì vậy họ muốn thực thi các quy tắc nhất định về những mật khẩu nào có thể được chọn. Họ thuê bạn viết một chương trình giúp người dùng chọn một mật khẩu mạnh. [Tuy nhiên, lưu ý rằng chỉ mật khẩu mạnh thôi là chưa đủ. Hãy xem bản ghi nhớ ngắn Wi-fi công cộng. Luật sư Cẩn thận với việc hành nghề ở quán cà phê. ] #### Đặc tả Bạn sẽ viết một chương trình tương tác giúp người dùng chọn mật khẩu. Chương trình sẽ yêu cầu người dùng nhập mật khẩu. Nếu người dùng nhập mật khẩu mạnh, sự cố sẽ cho người dùng biết rằng đó là mật khẩu hợp lệ. Nếu người dùng nhập một mật khẩu yếu, chương trình sẽ cho người dùng biết rằng đó là một mật khẩu yếu và cho người dùng biết mật khẩu của họ có vấn đề gì; . Nó sẽ tiếp tục yêu cầu người dùng nhập mật khẩu cho đến khi người dùng nhập mật khẩu mạnh. CoolGamzRUs định nghĩa một mật khẩu mạnh như sau. * Mật khẩu nên chứa ít nhất 8 ký tự * Mật khẩu nên chứa ít nhất 2 chữ cái viết thường * Mật khẩu nên chứa ít nhất 1 chữ cái viết hoa * Mật khẩu nên chứa ít nhất 2 số * Mật khẩu nên chứa ít nhất 1 trong các ký tự. @#$ ​​Nếu người dùng nhập mật khẩu vượt qua cả năm quy tắc, chương trình sẽ in `Mật khẩu là mật khẩu hợp lệ` rồi kết thúc. Nếu người dùng nhập mật khẩu yếu, chương trình sẽ in quy tắc đầu tiên rằng mật khẩu không thành công [__sử dụng thứ tự đã cho ở trên__] và sau đó yêu cầu người dùng nhập mật khẩu khác. __Ghi chú. chương trình của bạn phải khớp chính xác từ ngữ và định dạng của lần chạy mẫu. Chúng tôi sẽ sử dụng các chương trình để kiểm tra tính chính xác của chương trình của bạn và chương trình chấm điểm của chúng tôi sẽ chỉ ghi công cho bạn nếu bạn sử dụng đúng từ ngữ và khoảng cách. Vui lòng kiểm tra lại điều này và nói chuyện với người hướng dẫn hoặc TA nếu bạn không chắc chắn. __ #### Thực hiện. check_password Hàm `check_password` lấy một chuỗi `s` làm đầu vào, kiểm tra xem `s` có phải là mật khẩu mạnh hay không bằng cách sử dụng các quy tắc ở trên __theo thứ tự chúng được cung cấp__ và trả về chuỗi sẽ được in cho mật khẩu được đề xuất `s`. #### Thực hiện. main Hàm `main` liên tục hỏi người dùng mật khẩu, sử dụng `check_password` để kiểm tra mật khẩu đó và in câu lệnh đúng. Chức năng chỉ dừng khi người dùng nhập mật khẩu hợp lệ. #### Chạy mẫu ``` Vui lòng nhập mật khẩu của bạn. 123456 Mật khẩu phải chứa ít nhất 8 ký tự Vui lòng nhập mật khẩu của bạn. 12345678 Mật khẩu phải chứa ít nhất 2 chữ cái viết thường Vui lòng nhập mật khẩu của bạn. mật khẩu Mật khẩu phải chứa ít nhất 1 chữ cái viết hoa Vui lòng nhập mật khẩu của bạn. Mật khẩu Mật khẩu phải chứa ít nhất 2 số Vui lòng nhập mật khẩu của bạn. spring2020 Mật khẩu phải chứa ít nhất 1 chữ cái viết hoa Vui lòng nhập mật khẩu của bạn. Mật khẩu Spring2020 phải chứa ít nhất 1 ký tự. @#$ ​​Vui lòng nhập mật khẩu của bạn. Xuân 2020. Mật khẩu mùa xuân2020. là mật khẩu hợp lệ ``` #### Bắt đầu Có tệp khởi động `password_checking. py` được cung cấp cho nhiệm vụ này. Tải xuống [tệp bắt đầu][password_checking. py] và sao chép nó vào thư mục `CSCI051p-Workspace/PasswordChecking` [được tạo gần đây]. #### Gợi ý và Đề xuất Mã khởi động nhập mô-đun `string`, trong số những thứ khác, định nghĩa các hằng bao gồm `string. chữ số`, `chuỗi. ascii_lowercase` và `chuỗi. ascii_uppercase`. Xem qua các ví dụ từ bài giảng để xem chúng có thể hữu ích như thế nào. #### Phong cách viết mã Đảm bảo rằng chương trình của bạn được nhận xét chính xác. * Bạn nên có một nhận xét nhiều dòng ở đầu tệp ghi rõ tên, khóa học, số bài tập và ngày của bạn. * Bạn nên bao gồm các nhận xét một dòng có ý nghĩa giải thích mã của bạn đang làm gì. Ngoài ra, hãy đảm bảo rằng bạn đã sử dụng đúng kiểu. Điêu nay bao gôm. * Theo quy ước đặt tên, e. g. tất cả các biến và hàm phải là chữ thường với dấu gạch dưới ngăn cách các từ. * Sử dụng tên biến tốt [dễ nhớ]. * Sử dụng đúng khoảng trắng, bao gồm thụt lề và sử dụng các dòng trống để phân tách các đoạn mã thuộc về nhau. Để biết mô tả chi tiết hơn, vui lòng xem lại [Nguyên tắc về kiểu viết mã Python][. /. /python_style. html]. ## Phần 3. Phản hồi Tạo một tệp có tên `feedback. txt` trả lời các câu hỏi thông thường. 1. Bạn đã dành bao lâu cho nhiệm vụ này? . Bất kỳ ý kiến ​​​​hoặc phản hồi? . - `kiểm tra_mật khẩu. py` một tệp python xác thực mật khẩu đầu vào của người dùng. - `phản hồi. txt` một tệp văn bản chứa phản hồi của bạn cho bài tập này. Chúng nên được gửi bằng cách sử dụng [gửi. cs. pomona. giáo dục][http. //Gửi đi. cs. pomona. edu] như được mô tả trong [hướng dẫn gửi][. /. /Gửi đi. html]. Lưu ý rằng chúng tôi sẽ trừ điểm nếu tên tệp của bạn không chính xác, nếu bạn không điền tên của mình vào đúng vị trí hoặc nếu bạn không điền cả hai tệp vào lần gửi cuối cùng của mình. Vui lòng kiểm tra kỹ điều này trước khi gửi. ## Phân bổ điểm. Phần. Tính năng. Giá trị. . -----------. -------------------------------------------. -----. . phòng thí nghiệm. Đăng ký vào. 3. . . . . . Chấp hành. kiểm tra_mật khẩu chính xác. 10. . Chấp hành. chính xác cho mật khẩu không hợp lệ. 3. . Chấp hành. chính xác cho mật khẩu hợp lệ. 2. . . . . . Phong cách. Tập tin được đặt tên chính xác. 2. . Phong cách. Các tệp được gửi cùng nhau. 1. . Phong cách. Sửa nhận xét nhiều dòng ở cấp độ tệp. 1. . Phong cách. tài liệu tốt. 2. . Phong cách. Sử dụng tốt các bình luận nội tuyến. 2. . Phong cách. Sử dụng tốt các tên biến. 2. . Phong cách. Sử dụng tốt khoảng trắng. 2. . Phong cách. Sử dụng tốt các vòng lặp. 3. . . . . . Phản hồi. Đã gửi tệp phản hồi đã hoàn thành. 2

Làm cách nào để xác thực mật khẩu trong Python?

Điều kiện chính để xác thực mật khẩu. .
Tối thiểu 8 ký tự
Bảng chữ cái phải nằm trong khoảng từ [a-z]
Ít nhất một bảng chữ cái phải là Chữ hoa [A-Z]
Ít nhất 1 số hoặc chữ số trong khoảng [0-9]
Ít nhất 1 ký tự từ [ _ hoặc @ hoặc $ ]

Làm cách nào để xác thực tên người dùng và mật khẩu trong Python?

thời gian nhập hoàn tất = Sai người dùng = [["tên người dùng","mật khẩu"],["tên người dùng2","mật khẩu2"]] trong khi chưa hoàn tất. username = input["Tên người dùng là gì?"] password = input["Mật khẩu là gì?"] for n in len[user]. nếu tên người dùng == người dùng [n] [0]. in["Tốt. "] nếu mật khẩu == người dùng[n][1]. print["Người dùng đã được xác định,

Vòng lặp nào có thể được sử dụng để xác thực đầu vào?

Thường thì cần phải xác thực dữ liệu đầu vào của người dùng và lặp lại yêu cầu đối với dữ liệu trong trường hợp đầu vào của người dùng không hợp lệ. Điều này có thể được thực hiện bằng cách sử dụng vòng lặp thực hiện .

Làm cách nào để kiểm tra mật khẩu bằng regex trong Python?

nếu hợp lệ. print["Mật khẩu hợp lệ. "] khác. print["Mật khẩu không hợp lệ. "] .
Nhập mô-đun lại
Sử dụng hàm compile[] của re module để tạo các đối tượng Regex. .
Cuối cùng, chúng tôi so sánh mẫu đã xác định và mật khẩu đầu vào được cung cấp

Chủ Đề