Làm cách nào để xác thực một chuỗi trong Python?
Cho trước một định dạng ngày và một chuỗi ngày, nhiệm vụ là viết chương trình python để kiểm tra xem ngày đó có hợp lệ và khớp với định dạng không Show
ví dụ
Phương pháp số 1. Sử dụng strptime()Trong trường hợp này, hàm strptime thường được sử dụng để chuyển đổi chuỗi ngày thành đối tượng ngày giờ, được sử dụng khi nó không khớp với định dạng hoặc ngày, làm tăng ValueError và do đó có thể được sử dụng để tính toán tính hợp lệ Python3The original string is : 04-01-1997 Does date match format? : True9 The original string is : 04-01-1997 Does date match format? : True0 The original string is : 04-01-1997 Does date match format? : True1 The original string is : 04-01-1997 Does date match format? : True2 The original string is : 04-01-1997 Does date match format? : True3 The original string is : 04-01-1997 Does date match format? : True4 The original string is : 04-01-1997 Does date match format? : True3
The original string is : 04-01-1997 Does date match format? : True6 The original string is : 04-01-1997 Does date match format? : True0 The original string is : 04-01-1997 Does date match format? : True1 The original string is : 04-01-1997 Does date match format? : True2
The original string is : 04-01-1997 Does date match format? : True3 The original string is : 04-01-1997 Does date match format? : True4 The original string is : 04-01-1997 Does date match format? : True5 The original string is : 04-01-1997 Does date match format? : True6 The original string is : 04-01-1997 Does date match format? : True7 The original string is : 04-01-1997 Does date match format? : True8 The original string is : 04-01-1997 Does date match format? : True9
The original string is : 04-01-1997 Does date match format? : True90 The original string is : 04-01-1997 Does date match format? : True91 The original string is : 04-01-1997 Does date match format? : True1 The original string is : 04-01-1997 Does date match format? : True93
The original string is : 04-01-1997 Does date match format? : True94 The original string is : 04-01-1997 Does date match format? : True95 The original string is : 04-01-1997 Does date match format? : True1 The original string is : 04-01-1997 Does date match format? : True97
The original string is : 04-01-1997 Does date match format? : True98 The original string is : 04-01-1997 Does date match format? : True99 The original string is : 04-01-1997 Does date match format? : True00 The original string is : 04-01-1997 Does date match format? : True01 The original string is : 04-01-1997 Does date match format? : True95 The original string is : 04-01-1997 Does date match format? : True1 The original string is : 04-01-1997 Does date match format? : True04 The original string is : 04-01-1997 Does date match format? : True05 The original string is : 04-01-1997 Does date match format? : True91 The original string is : 04-01-1997 Does date match format? : True07 ________ 208 ________ 209 ________ 201 ________ 195 ________ 01 ________ 213
The original string is : 04-01-1997 Does date match format? : True14 The original string is : 04-01-1997 Does date match format? : True4 The original string is : 04-01-1997 Does date match format? : True5 The original string is : 04-01-1997 Does date match format? : True17 The original string is : 04-01-1997 Does date match format? : True7 The original string is : 04-01-1997 Does date match format? : True8 The original string is : 04-01-1997 Does date match format? : True20 đầu ra The original string is : 04-01-1997 Does date match format? : True Phương pháp #2. Sử dụng dateutil. trình phân tích cú pháp. phân tích cú pháp ()Trong phần này, chúng tôi kiểm tra định dạng đã được xác thực bằng hàm có sẵn khác, dateutil. trình phân tích cú pháp. Điều này không cần định dạng để phát hiện một ngày Mã xác thực đầu vào kiểm tra xem các giá trị do người dùng nhập, chẳng hạn như văn bản từ hàm input(), có được định dạng đúng không. Ví dụ: nếu bạn muốn người dùng nhập tuổi của họ, mã của bạn không được chấp nhận các câu trả lời vô nghĩa như số âm (nằm ngoài phạm vi số nguyên được chấp nhận) hoặc từ (là loại dữ liệu sai). Xác thực đầu vào cũng có thể ngăn ngừa lỗi hoặc lỗ hổng bảo mật. Nếu bạn triển khai hàm rútFromAccount() nhận đối số cho số tiền cần trừ khỏi tài khoản, bạn cần đảm bảo số tiền là số dương. Nếu hàm rútFromAccount() trừ một số âm khỏi tài khoản, thì việc “rút tiền” sẽ kết thúc bằng việc thêm tiền Thông thường, chúng tôi thực hiện xác thực đầu vào bằng cách liên tục yêu cầu người dùng nhập thông tin cho đến khi họ nhập văn bản hợp lệ, như trong ví dụ sau trong khi Đúng. print(f'Tuổi của bạn là {age}. ') Khi bạn chạy chương trình này, đầu ra có thể trông như thế này Nhập tuổi của bạn. Khi bạn chạy mã này, bạn sẽ được nhắc nhập tuổi của mình cho đến khi bạn nhập một mã hợp lệ. Điều này đảm bảo rằng vào thời điểm quá trình thực thi rời khỏi vòng lặp while, biến age sẽ chứa một giá trị hợp lệ để chương trình không bị treo sau này Tuy nhiên, việc viết mã xác thực đầu vào cho mọi lệnh gọi input() trong chương trình của bạn nhanh chóng trở nên tẻ nhạt. Ngoài ra, bạn có thể bỏ lỡ một số trường hợp nhất định và cho phép đầu vào không hợp lệ vượt qua kiểm tra của bạn. Trong chương này, bạn sẽ tìm hiểu cách sử dụng mô-đun PyInputPlus của bên thứ ba để xác thực đầu vào Mô-đun PyInputPlusPyInputPlus chứa các chức năng tương tự như input() cho một số loại dữ liệu. số, ngày tháng, địa chỉ email, v.v. Nếu người dùng từng nhập dữ liệu không hợp lệ, chẳng hạn như ngày bị định dạng sai hoặc một số nằm ngoài phạm vi dự định, PyInputPlus sẽ nhắc lại họ để nhập dữ liệu giống như mã của chúng tôi trong phần trước đã làm. PyInputPlus cũng có các tính năng hữu ích khác như giới hạn số lần nó nhắc lại người dùng và thời gian chờ nếu người dùng được yêu cầu phản hồi trong một giới hạn thời gian PyInputPlus không phải là một phần của Thư viện chuẩn Python, vì vậy bạn phải cài đặt riêng nó bằng Pip. Để cài đặt PyInputPlus, hãy chạy pip install --user pyinputplus từ dòng lệnh. có hướng dẫn đầy đủ để cài đặt các mô-đun của bên thứ ba. Để kiểm tra xem PyInputPlus đã được cài đặt đúng chưa, hãy nhập nó vào trình bao tương tác >>> nhập pyinputplus Nếu không có lỗi xuất hiện khi bạn nhập mô-đun, nó đã được cài đặt thành công PyInputPlus có một số chức năng cho các loại đầu vào khác nhau inputStr() Giống như hàm input() tích hợp nhưng có các tính năng chung của PyInputPlus. Bạn cũng có thể chuyển chức năng xác thực tùy chỉnh cho nó inputNum() Đảm bảo người dùng nhập một số và trả về một số int hoặc float, tùy thuộc vào việc số đó có dấu thập phân trong đó hay không inputChoice() Đảm bảo người dùng nhập một trong các lựa chọn được cung cấp inputMenu() Tương tự như inputChoice(), nhưng cung cấp một menu với các tùy chọn được đánh số hoặc chữ cái inputDatetime() Đảm bảo người dùng nhập ngày và giờ inputYesNo() Đảm bảo người dùng nhập phản hồi “có” hoặc “không” inputBool() Tương tự như inputYesNo(), nhưng nhận phản hồi “True” hoặc “False” và trả về giá trị Boolean inputEmail() Đảm bảo người dùng nhập địa chỉ email hợp lệ inputFilepath() Đảm bảo người dùng nhập đường dẫn tệp và tên tệp hợp lệ và có thể tùy chọn kiểm tra xem tệp có tên đó có tồn tại không inputPassword() Giống như input() tích hợp, nhưng hiển thị các ký tự * khi người dùng nhập để mật khẩu hoặc thông tin nhạy cảm khác không hiển thị trên màn hình Các hàm này sẽ tự động nhắc lại người dùng miễn là họ nhập thông tin nhập không hợp lệ >>> nhập pyinputplus dưới dạng pyip Mã as pyip trong câu lệnh nhập giúp chúng tôi không phải nhập pyinputplus mỗi lần chúng tôi muốn gọi hàm PyInputPlus. Thay vào đó chúng ta có thể sử dụng tên pyip ngắn hơn. Nếu bạn xem ví dụ, bạn sẽ thấy rằng không giống như input(), các hàm này trả về giá trị int hoặc float. 42 và 3. 14 thay vì chuỗi '42' và '3. 14' Giống như bạn có thể chuyển một chuỗi tới input() để cung cấp lời nhắc, bạn có thể chuyển một chuỗi tới đối số từ khóa lời nhắc của hàm PyInputPlus để hiển thị lời nhắc >>> response = input('Nhập số. ') Sử dụng hàm help() của Python để tìm hiểu thêm về từng hàm này. Ví dụ: trợ giúp (pyip. inputChoice) hiển thị thông tin trợ giúp cho hàm inputChoice(). Toàn bộ tài liệu có thể được tìm thấy tại https. //pyinputplus. đọcthedocs. io/ Không giống như input() tích hợp sẵn của Python, các hàm PyInputPlus có một số tính năng bổ sung để xác thực đầu vào, như được hiển thị trong phần tiếp theo Các đối số từ khóa tối thiểu, tối đa, lớn hơn và nhỏ hơnCác hàm inputNum(), inputInt() và inputFloat(), chấp nhận các số int và float, cũng có các đối số từ khóa min, max, betterThan và lessThan để chỉ định một dải giá trị hợp lệ. Ví dụ: nhập thông tin sau vào trình bao tương tác >>> nhập pyinputplus dưới dạng pyip Các đối số từ khóa này là tùy chọn, nhưng nếu được cung cấp, đầu vào không được nhỏ hơn đối số tối thiểu hoặc lớn hơn đối số tối đa (mặc dù đầu vào có thể bằng chúng). Ngoài ra, đầu vào phải lớn hơn đối số lớn hơn và nhỏ hơn đối số nhỏ hơn (nghĩa là đầu vào không thể bằng chúng) Đối số từ khóa trốngTheo mặc định, đầu vào trống không được phép trừ khi đối số từ khóa trống được đặt thành True >>> nhập pyinputplus dưới dạng pyip Sử dụng blank=True nếu bạn muốn nhập tùy chọn để người dùng không cần nhập bất kỳ thứ gì Giới hạn, thời gian chờ và Đối số từ khóa mặc địnhTheo mặc định, các hàm PyInputPlus sẽ tiếp tục yêu cầu người dùng nhập dữ liệu hợp lệ mãi mãi (hoặc miễn là chương trình chạy). Nếu bạn muốn một chức năng ngừng yêu cầu người dùng nhập thông tin sau một số lần thử nhất định hoặc một khoảng thời gian nhất định, bạn có thể sử dụng các đối số từ khóa giới hạn và thời gian chờ. Truyền một số nguyên cho đối số từ khóa giới hạn để xác định số lần một hàm PyInputPlus sẽ thực hiện để nhận đầu vào hợp lệ trước khi từ bỏ và truyền một số nguyên cho đối số từ khóa hết thời gian chờ để xác định số giây người dùng phải nhập đầu vào hợp lệ trước PyInputPlus Nếu người dùng không nhập đầu vào hợp lệ, các đối số từ khóa này sẽ khiến hàm tăng RetryLimitException hoặc TimeoutException tương ứng. Ví dụ: nhập thông tin sau vào trình bao tương tác >>> nhập pyinputplus dưới dạng pyip Khi bạn sử dụng các đối số từ khóa này và cũng chuyển đối số từ khóa mặc định, hàm sẽ trả về giá trị mặc định thay vì đưa ra một ngoại lệ. Nhập thông tin sau vào vỏ tương tác >>> phản hồi = pyip. inputNum(limit=2, default='N/A') Thay vì tăng RetryLimitException, hàm inputNum() chỉ trả về chuỗi 'N/A' Đối số từ khóa allowRegexes và blockRegexesBạn cũng có thể sử dụng các biểu thức chính quy để chỉ định liệu đầu vào có được phép hay không. Các đối số từ khóa allowRegexes và blockRegexes lấy một danh sách các chuỗi biểu thức chính quy để xác định hàm PyInputPlus sẽ chấp nhận hoặc từ chối thông tin đầu vào hợp lệ nào. Ví dụ: nhập mã sau vào trình bao tương tác để inputNum() sẽ chấp nhận các chữ số La Mã ngoài các số thông thường >>> nhập pyinputplus dưới dạng pyip Tất nhiên, biểu thức chính quy này chỉ ảnh hưởng đến những chữ cái mà hàm inputNum() sẽ chấp nhận từ người dùng; . V. X. L. C. D. M)+' biểu thức chính quy chấp nhận các chuỗi đó Bạn cũng có thể chỉ định danh sách các chuỗi biểu thức chính quy mà hàm PyInputPlus sẽ không chấp nhận bằng cách sử dụng đối số từ khóa blockRegexes. Nhập thông tin sau vào trình bao tương tác để inputNum() không chấp nhận các số chẵn >>> nhập pyinputplus dưới dạng pyip Nếu bạn chỉ định cả đối số allowRegexes và blockRegexes, danh sách cho phép sẽ ghi đè danh sách chặn. Ví dụ: nhập thông tin sau vào trình bao tương tác, cho phép 'sâu bướm' và 'danh mục' nhưng chặn bất kỳ nội dung nào khác có từ 'mèo' trong đó >>> nhập pyinputplus dưới dạng pyip Các chức năng của mô-đun PyInputPlus có thể giúp bạn không phải tự viết mã xác thực đầu vào tẻ nhạt. Nhưng mô-đun PyInputPlus còn nhiều điều hơn những gì đã được trình bày chi tiết tại đây. Bạn có thể kiểm tra tài liệu đầy đủ của nó trực tuyến tại https. //pyinputplus. đọcthedocs. io/ Truyền Hàm xác thực tùy chỉnh cho inputCustom()Bạn có thể viết một hàm để thực hiện logic xác thực tùy chỉnh của riêng mình bằng cách chuyển hàm tới inputCustom(). Ví dụ: giả sử bạn muốn người dùng nhập một chuỗi các chữ số có tổng bằng 10. Không có pyinputplus. inputAddsUpToTen(), nhưng bạn có thể tạo chức năng của riêng mình
Ví dụ: chúng ta có thể tạo hàm addUpToTen() của riêng mình, sau đó chuyển nó vào inputCustom(). Lưu ý rằng lời gọi hàm trông giống như inputCustom(addsUpToTen) chứ không phải inputCustom(addsUpToTen()) bởi vì chúng ta đang chuyển chính hàm addUpToTen() cho inputCustom(), không gọi hàm addUpToTen() và chuyển giá trị trả về của nó >>> nhập pyinputplus dưới dạng pyip Hàm inputCustom() cũng hỗ trợ các tính năng chung của PyInputPlus, chẳng hạn như các đối số từ khóa trống, giới hạn, hết thời gian chờ, mặc định, allowRegexes và blockRegexes. Việc viết hàm xác thực tùy chỉnh của riêng bạn rất hữu ích khi khó hoặc không thể viết một biểu thức chính quy cho đầu vào hợp lệ, như trong ví dụ “thêm tối đa 10” Dự định. Làm thế nào để giữ một thằng ngốc bận rộn trong nhiều giờHãy sử dụng PyInputPlus để tạo một chương trình đơn giản thực hiện các công việc sau
Tất nhiên, chúng tôi không biết liệu người dùng sẽ nhập một cái gì đó ngoài "có" hay "không", vì vậy chúng tôi cần thực hiện xác thực đầu vào. Cũng sẽ thuận tiện cho người dùng khi có thể nhập “y” hoặc “n” thay vì các từ đầy đủ. Hàm inputYesNo() của PyInputPlus sẽ xử lý việc này cho chúng tôi và bất kể người dùng nhập trường hợp nào, trả về giá trị chuỗi chữ thường 'có' hoặc 'không' Khi bạn chạy chương trình này, nó sẽ giống như sau Bạn muốn biết cách khiến một tên ngốc bận rộn trong nhiều giờ? Mở tab chỉnh sửa tệp mới và lưu nó với tên ngốc. py. Sau đó nhập mã sau nhập pyinputplus dưới dạng pyip Cái này nhập mô-đun PyInputPlus. Vì pyinputplus hơi nhiều để gõ nên chúng tôi sẽ sử dụng tên ngắn gọn là pyip trong khi Đúng. Tiếp theo, trong khi True. tạo một vòng lặp vô hạn tiếp tục chạy cho đến khi gặp câu lệnh break. Trong vòng lặp này, chúng tôi gọi pyip. inputYesNo() để đảm bảo rằng lệnh gọi hàm này sẽ không trả về cho đến khi người dùng nhập câu trả lời hợp lệ nếu phản hồi == 'không'. các pyip. lệnh gọi inputYesNo() được đảm bảo chỉ trả về chuỗi có hoặc chuỗi không. Nếu nó trả về không, thì chương trình của chúng ta sẽ thoát khỏi vòng lặp vô hạn và tiếp tục đến dòng cuối cùng, cảm ơn người dùng in ('Cảm ơn bạn. Chúc một ngày tốt lành. ') Nếu không, vòng lặp lặp lại một lần nữa Bạn cũng có thể sử dụng hàm inputYesNo() bằng các ngôn ngữ không phải tiếng Anh bằng cách chuyển các đối số từ khóa yesVal và noVal. Ví dụ: phiên bản tiếng Tây Ban Nha của chương trình này sẽ có hai dòng này prompt = '¿Quieres sabre cómo mantener ocupado a unidiida durante horas?\n' Giờ đây, người dùng có thể nhập sí hoặc s (viết thường hoặc viết hoa) thay vì có hoặc y cho câu trả lời khẳng định Dự định. phép nhân đốCác tính năng của PyInputPlus có thể hữu ích để tạo bài kiểm tra nhân theo thời gian. Bằng cách đặt đối số từ khóa allowRegexes, blockRegexes, timeout và limit thành pyip. inputStr(), bạn có thể để phần lớn việc triển khai cho PyInputPlus. Bạn càng cần viết ít mã, bạn càng có thể viết chương trình của mình nhanh hơn. Hãy tạo một chương trình đặt ra 10 bài toán nhân cho người dùng, trong đó đầu vào hợp lệ là câu trả lời đúng của bài toán. Mở tab trình chỉnh sửa tệp mới và lưu tệp dưới dạng phép nhânQuiz. py Đầu tiên, chúng tôi sẽ nhập pyinputplus, ngẫu nhiên và thời gian. Chúng tôi sẽ theo dõi xem chương trình hỏi bao nhiêu câu hỏi và bao nhiêu câu trả lời đúng mà người dùng đưa ra với các biến numberOfQuestions và trueAnswers. Một vòng lặp for sẽ lặp đi lặp lại một bài toán nhân ngẫu nhiên 10 lần nhập pyinputplus dưới dạng pyip numberOfQuestions = 10 Trong vòng lặp for, chương trình sẽ chọn hai số có một chữ số để nhân. Chúng tôi sẽ sử dụng những con số này để tạo #Q. N × N = dấu nhắc cho người dùng, trong đó Q là số câu hỏi (1 đến 10) và N là hai số cần nhân # Chọn hai số ngẫu nhiên. dấu nhắc = '#%s. %s x %s = ' % (số câu hỏi, số1, số2) các pyip. Hàm inputStr() sẽ xử lý hầu hết các tính năng của chương trình đố vui này. Đối số chúng tôi chuyển cho allowRegexes là một danh sách có chuỗi biểu thức chính quy '^%s$', trong đó %s được thay thế bằng câu trả lời đúng. Các ký tự ^ và % đảm bảo rằng câu trả lời bắt đầu và kết thúc bằng số chính xác, mặc dù PyInputPlus cắt bỏ mọi khoảng trắng từ đầu và cuối phản hồi của người dùng trước, đề phòng trường hợp họ vô tình nhấn phím cách trước hoặc sau câu trả lời của họ. Đối số chúng tôi chuyển cho blocklistRegexes là một danh sách có ('. *', 'Không đúng. '). Chuỗi đầu tiên trong bộ dữ liệu là biểu thức chính quy khớp với mọi chuỗi có thể. Do đó, nếu phản hồi của người dùng không khớp với câu trả lời chính xác, chương trình sẽ từ chối bất kỳ câu trả lời nào khác mà họ cung cấp. Trong trường hợp đó, 'Sai. ' chuỗi được hiển thị và người dùng được nhắc trả lời lại. Ngoài ra, vượt qua 8 để hết thời gian chờ và 3 để giới hạn sẽ đảm bảo rằng người dùng chỉ có 8 giây và 3 để cố gắng đưa ra câu trả lời đúng thử. Nếu người dùng trả lời sau khi hết thời gian chờ 8 giây, ngay cả khi họ trả lời đúng, pyip. inputStr() tăng ngoại lệ TimeoutException. Nếu người dùng trả lời sai hơn 3 lần, nó sẽ phát sinh ngoại lệ RetryLimitException. Cả hai loại ngoại lệ này đều nằm trong mô-đun PyInputPlus, vì vậy pyip. cần chuẩn bị trước chúng ngoại trừ pyip. Hết thời gian ngoại lệ. Hãy nhớ rằng, giống như cách các khối khác có thể theo khối if hoặc elif, chúng có thể tùy chọn theo khối ngoại trừ cuối cùng. Mã bên trong khối khác sau đây sẽ chạy nếu không có ngoại lệ nào được đưa ra trong khối thử. Trong trường hợp của chúng tôi, điều đó có nghĩa là mã sẽ chạy nếu người dùng nhập câu trả lời đúng khác. Bất kể thông báo nào trong ba thông báo, “Hết thời gian. ”, “Hết cố gắng. ”, hoặc “Đúng. ”, hiển thị, hãy tạm dừng 1 giây ở cuối vòng lặp for để người dùng có thời gian đọc nó. Sau khi chương trình đã hỏi 10 câu hỏi và vòng lặp for tiếp tục, hãy cho người dùng biết họ đã trả lời đúng bao nhiêu câu hỏi thời gian. sleep(1) # Tạm dừng ngắn để người dùng xem kết quả. PyInputPlus đủ linh hoạt để bạn có thể sử dụng nó trong nhiều chương trình khác nhau lấy đầu vào bàn phím từ người dùng, như các chương trình trong chương này đã minh họa Tóm lượcBạn rất dễ quên viết mã xác thực đầu vào, nhưng nếu không có nó, chương trình của bạn gần như chắc chắn sẽ có lỗi. Các giá trị mà bạn mong muốn người dùng nhập vào và các giá trị mà họ thực sự nhập vào có thể hoàn toàn khác nhau và chương trình của bạn cần phải đủ mạnh để xử lý các trường hợp đặc biệt này. Bạn có thể sử dụng các biểu thức chính quy để tạo mã xác thực đầu vào của riêng mình, nhưng đối với các trường hợp phổ biến, việc sử dụng một mô-đun hiện có sẽ dễ dàng hơn, chẳng hạn như PyInputPlus. Bạn có thể nhập mô-đun bằng cách nhập pyinputplus dưới dạng pyip để bạn có thể nhập tên ngắn hơn khi gọi các chức năng của mô-đun PyInputPlus có các chức năng để nhập nhiều loại đầu vào, bao gồm chuỗi, số, ngày, có/không, Đúng/Sai, email và tệp. Trong khi input() luôn trả về một chuỗi, các hàm này trả về giá trị ở kiểu dữ liệu thích hợp. Hàm inputChoice() cho phép bạn chọn một trong số các tùy chọn được chọn trước, trong khi inputMenu() cũng thêm số hoặc chữ cái để chọn nhanh Tất cả các chức năng này đều có các tính năng tiêu chuẩn sau. loại bỏ khoảng trắng ở hai bên, đặt giới hạn thời gian chờ và thử lại với thời gian chờ và giới hạn các đối số từ khóa và chuyển danh sách các chuỗi biểu thức chính quy tới allowRegexes hoặc blockRegexes để bao gồm hoặc loại trừ các phản hồi cụ thể. Bạn sẽ không còn cần phải viết các vòng lặp while tẻ nhạt của riêng mình để kiểm tra đầu vào hợp lệ và nhắc lại người dùng Nếu không có chức năng nào của mô-đun PyInputPlus phù hợp với nhu cầu của bạn, nhưng bạn vẫn thích các tính năng khác mà PyInputPlus cung cấp, bạn có thể gọi inputCustom() và chuyển chức năng xác thực tùy chỉnh của riêng bạn để PyInputPlus sử dụng. Tài liệu tại https. //pyinputplus. đọcthedocs. io/en/latest/ có danh sách đầy đủ các chức năng của PyInputPlus và các tính năng bổ sung. Tài liệu trực tuyến của PyInputPlus còn nhiều hơn những gì được mô tả trong chương này. Không cần phải phát minh lại bánh xe và học cách sử dụng mô-đun này sẽ giúp bạn không phải viết và gỡ lỗi mã cho chính mình Bây giờ bạn đã có chuyên môn thao tác và xác thực văn bản, đã đến lúc tìm hiểu cách đọc và ghi vào các tệp trên ổ cứng máy tính của bạn câu hỏi thực hànhPyInputPlus có đi kèm với Thư viện chuẩn Python không? Tại sao PyInputPlus thường được nhập với pyinputplus nhập dưới dạng pyip? Sự khác biệt giữa inputInt() và inputFloat() là gì? Làm cách nào bạn có thể đảm bảo rằng người dùng nhập một số nguyên từ 0 đến 99 bằng PyInputPlus? Điều gì được chuyển đến các đối số từ khóa allowRegexes và blockRegexes? inputStr(limit=3) sẽ làm gì nếu đầu vào trống được nhập ba lần? inputStr(limit=3, default='hello') sẽ làm gì nếu đầu vào trống được nhập ba lần? Dự án thực hànhĐể thực hành, hãy viết chương trình để thực hiện các nhiệm vụ sau Máy làm bánh SandwichViết chương trình hỏi người dùng về sở thích bánh sandwich của họ. Chương trình nên sử dụng PyInputPlus để đảm bảo rằng chúng nhập đầu vào hợp lệ, chẳng hạn như
Đưa ra giá cho từng tùy chọn này và để chương trình của bạn hiển thị tổng chi phí sau khi người dùng nhập lựa chọn của họ Viết bài kiểm tra phép nhân của riêng bạnĐể xem PyInputPlus đang làm được bao nhiêu cho bạn, hãy thử tự tạo lại dự án bài kiểm tra phép nhân mà không cần nhập dự án. Chương trình này sẽ nhắc người dùng với 10 câu hỏi nhân, từ 0 × 0 đến 9 × 9. Bạn sẽ cần triển khai các tính năng sau Làm cách nào để xác thực dữ liệu trong Python?Yêu cầu hệ thống. . Bước 1. Nhập mô-đun Bước 2. Chuẩn bị tập dữ liệu Bước 3. Xác thực khung dữ liệu Bước 4. Xử lý các cột phù hợp Bước 5. Kiểm tra Loại dữ liệu chuyển đổi thành cột Ngày Bước 6. xác thực dữ liệu để kiểm tra các giá trị còn thiếu Xác minh chuỗi là gì?StringValidator được dùng để kiểm tra xem một giá trị có tuân thủ một tập hợp các ràng buộc xác thực hay không . Trình xác thực được truyền một chuỗi JavaScript. Nếu một chuỗi là một chuỗi ẩn, thì nó phải được chuyển đổi (sử dụng MaskConverter) thành một chuỗi (đã loại bỏ các ký tự) trước khi nó được chuyển đến trình xác thực. |