Hướng dẫn what is the difference between if/else and cascaded if statements in python? - sự khác biệt giữa câu lệnh if/else và xếp tầng if trong python là gì?
Các câu lệnh if và if/other tản nhiệt kiểm tra một điều kiện duy nhất. Đó là hầu hết thời gian. Nhưng đôi khi chúng ta có một loạt các điều kiện mà chúng ta cần kiểm tra lẫn nhau. Hãy cùng xem cách chúng ta mã hóa trong Python. Show
Trong bài viết này:
# Đánh giá một số điều kiện liên tiếp: Cascaded IFSMột câu lệnh được xếp tầng nếu câu lệnh đánh giá một loạt các điều kiện cho đến khi một trong số chúng kiểm tra 3. Khi Python gặp điều kiện 3, nó sẽ thực hiện mã đi kèm. Sau đó xếp tầng nếu tuyên bố kết thúc (Python Docs, n.d.).cascaded if statement evaluates a series of conditions until one of them tests 3. When Python comes across a 3 condition, it executes its accompanying
code. Then the cascaded if statement ends (Python Docs, n.d.).Bằng cách đó, chúng tôi chỉ chọn một trong một số tùy chọn. Bạn cũng có thể biết câu lệnh IF theo các tên khác của nó: loạt các câu lệnh IF, if-else-if, chi nhánh nhiều chiều và if-elif-ladder. Nhưng bất kể tên của nó là gì, ý tưởng vẫn giữ nguyên: kiểm tra một số điều kiện cho đến khi chúng ta tìm thấy một điều kiện mà ____ ____. Hãy cùng xem cách chúng ta mã hóa một. # Mô hình mặc định của Python từ Cascaded If StatementĐộ dài của một tầng nếu tuyên bố phụ thuộc vào số lượng nó có. Ở đây, những gì mẫu mặc định trông với 3 điều kiện (Python Docs, n.d.):
Một tầng nếu câu lệnh kiểm tra các điều kiện cho đến khi một là 3 (Python Docs, n.d.). Vì vậy, nếu 7 là 3, mã của nó sẽ chạy và câu lệnh CASCADED IF kết thúc. Khi điều kiện đó là 9, Python chuyển sang 0. Nếu cái đó là 3, mã đi kèm sẽ thực thi (và sau đó là câu lệnh được xếp tầng sẽ dừng lại).Nếu điều kiện đó cũng là 9, các thử nghiệm Python 3. Khi 3, mã chúng tôi đã đặt theo 5 chạy. Và khi 9, câu lệnh CASCADED IF kết thúc hoặc mã 7 tùy chọn thực thi.Vì vậy, có ba phần chính cho một câu lệnh if cascaded (Matthes, 2016; Python Docs, N.D .; Sweigart, 2015):
Đặc điểm xác định của câu lệnh Cascaded IF là Python thực thi một, và chính xác là một, khối mã (Python Docs, n.d.). Đó có thể là điều kiện đầu tiên chúng tôi kiểm tra với 8, một trong các kiểm tra 5 hoặc mệnh đề 7 cuối cùng. (Nếu chương trình của chúng tôi thực thi mã cho mỗi điều kiện 3, thì chúng tôi cần sử dụng các câu lệnh riêng lẻ.)or the final 7 clause. (Should our program execute code for each 3 condition, then we need to use individual if statements.)# Các tính năng của câu lệnh CASCADED IFHành vi của Python sườn xếp tầng nếu câu lệnh khác nhau một chút dựa trên mệnh đề 7 cuối cùng:
Lưu ý rằng mã 7 của chúng tôi cuối cùng có thể chạy trong các tình huống mà chúng tôi đã không mong đợi khi chúng tôi viết mã. Điều đó có thể bao gồm dữ liệu bất ngờ, không hợp lệ hoặc thậm chí độc hại (Matthes, 2016).Nếu bạn có một điều kiện cuối cùng cụ thể, thì hãy kết thúc câu lệnh CASCADED IF với bài kiểm tra 5 chứ không phải là điều khoản 7 chung. Điều đó cũng tạo ra mã rõ ràng và rõ ràng.Một tính năng khác của câu lệnh Cascaded IF là thứ tự điều kiện quan trọng (Sweigart, 2015). Điều đó xảy ra bởi vì khi một điều kiện là 3, những người khác bị bỏ qua. Vì vậy, các thử nghiệm có điều kiện cao hơn các câu lệnh nếu câu lệnh thường có nhiều khả năng chạy hơn. Mã xuất hiện sau này trong câu lệnh Cascaded IF, mặt khác, ít có khả năng chạy hơn.Các tính năng chung của câu lệnh CASCADED IF là:
# Các chương trình Python sử dụng các câu lệnh Cascaded nếuBây giờ chúng ta đã biết câu lệnh CASCADED IF, hãy để xem cách chúng ta sử dụng nó với một vài chương trình ví dụ Python. # Ví dụ: Quy trình đầu vào người dùng với câu lệnh CASCADED IFRất nhiều câu lệnh được xếp tầng nếu các câu lệnh tương tự: đánh giá một biến so với nhiều giá trị. (Điều đó tương tự như các câu lệnh chuyển đổi trong các ngôn ngữ lập trình khác.) Chương trình ví dụ tạo ra một trong những câu lệnh IF được xếp tầng. Mã trước tiên nhắc nhở người dùng về số lượng từ anh ấy hoặc cô ấy đã viết. Sau đó, chúng tôi so sánh số lượng đó so với độ dài của một số loại nội dung. Mã chương trình là:
Đầu tiên chúng tôi thực hiện biến 6. Chúng tôi đặt biến đó thành giá trị được trả về bởi hàm 7 mà chúng tôi chuyển đổi thành một số nguyên ( 8). Với chức năng 7 đó, chúng tôi hỏi người dùng có bao nhiêu từ anh ấy hoặc cô ấy đã viết.Sau đó, chúng tôi đánh giá biến đó với một câu lệnh if cascaded. Chúng tôi thực hiện một số so sánh:
Tất nhiên các đầu ra chương trình phụ thuộc vào số lượng từ được cung cấp. Dưới đây là một số ví dụ đầu ra:
# Ví dụ: Xử lý các dự đoán với câu lệnh if cascadedTrong chương trình Python dưới đây, chúng tôi hỏi người dùng có bao nhiêu trang ‘Harry Potter và thứ tự của cuốn sách Phoenix. Với một câu lệnh IF được xếp tầng, chúng tôi đánh giá dự đoán của người dùng và cung cấp một số gợi ý về câu trả lời đúng (766 trang). Mã chương trình hoàn chỉnh là:
Trước tiên chúng tôi có chức năng 1 nói mục đích của chương trình. Sau đó, chúng tôi tạo ra một vòng lặp 0 vô hạn. Điều đó giữ cho chương trình của chúng tôi chạy cho đến khi người dùng đoán đúng (tất nhiên là không thân thiện với người dùng!).Bên trong vòng lặp, chúng tôi tạo biến 1. Chúng tôi đặt giá trị của nó thành hàm 7, được chuyển đổi thành số nguyên ( 8). Với chức năng 7, hãy gọi, chúng tôi nhắc người dùng ước tính của mình.Sau đó, chúng tôi xử lý ước tính đó với một câu lệnh if cascaded:
Việc đầu ra chương trình tạo ra phụ thuộc vào dự đoán của người dùng. Ở đây, một ví dụ về đầu ra có thể có:
# Ví dụ: Đếm các ký tự chuỗi với câu lệnh if cascadedTất nhiên có rất nhiều cách khác để sử dụng các câu lệnh ifcaded. Một ví dụ khác cho thấy dưới đây. Lần này, chúng tôi sẽ đếm số lượng chữ cái, và chữ P, và các chữ cái P, xuất hiện trong một câu. Mã chương trình là:
Đầu tiên chúng tôi thực hiện biến 02 và đặt nó thành một câu về Python. Sau đó, chúng tôi thực hiện ba biến số ( 03, 04 và 05) mà chúng tôi sử dụng để đếm sau.Tiếp theo chúng tôi tạo một vòng 06. Vòng lặp này đi qua tất cả các ký tự trong câu ví dụ của chúng tôi. Với mỗi chu kỳ vòng lặp, biến 07 giữ một ký tự duy nhất từ chuỗi đó.
Để kiểm tra ký tự đơn đó mỗi lần thông qua vòng lặp, chúng tôi sử dụng câu lệnh IF được xếp tầng:
Lưu ý rằng câu lệnh này được xếp tầng nếu không có trường hợp mặc định. Vì chúng tôi tìm kiếm các ký tự cụ thể, chúng tôi không muốn thực thi mã cho bất kỳ ký tự nào khác. Chúng tôi chỉ quan tâm đến ’e,‘ o, và ‘p,. Sau khi vòng lặp kết thúc 1 xuất ra câu ví dụ. Sau đó, chúng tôi in các giá trị của các biến 03, 04 và 05. Điều đó cho thấy có bao nhiêu ’e,’ o, và ‘p, chúng tôi đã tìm thấy:
# Mẹo: Sử dụng Cascaded nếu chỉ khi một bài kiểm tra phải vượt quaMột bản xếp tầng nếu câu lệnh thực thi nhiều nhất chỉ là một mệnh đề. Chỉ có điều kiện 3 đầu tiên có mã được thực thi. Ngay cả khi nhiều điều kiện là 3, nó chỉ là điều đầu tiên thực hiện. Sau đó, các tầng nếu tuyên bố chỉ đơn giản là kết thúc.Hành vi đó có một hậu quả quan trọng. Khi nhiều điều kiện trong chương trình của chúng tôi có thể là 3 cùng một lúc và mã của chúng tôi sẽ hoạt động theo từng điều kiện 3, thì chúng tôi không nên sử dụng câu lệnh CASCADED IF. Thay vào đó, chúng tôi cần nhiều câu lệnh IF độc lập (Matthes, 2016). Bằng cách đó chúng ta có thể đánh giá từng điều kiện một cách độc lập.and our code should act on each 3 condition, then we shouldn’t use a cascaded if statement. Instead we need multiple
independent if statements (Matthes, 2016). That way we can evaluate each condition independently.Hãy cùng nhìn vào một ví dụ. Giả sử ứng dụng của chúng tôi xử lý các đơn đặt hàng trong một nhà hàng nhanh. Chúng ta có thể có một đoạn mã như thế này:
Ở đây chúng tôi có một danh sách các tính năng bổ sung mà khách hàng đặt hàng ( 22). Một bản xếp tầng nếu câu lệnh sau đó trông giống như khách hàng đã đặt hàng.Nhưng ở đây, điều này. Khách hàng cụ thể này đã đặt hàng ba tính năng bổ sung. Nhưng câu lệnh CASCADED NẾU chỉ xuất ra các hướng dẫn của nhân viên cho một: 0Trong chương trình này, nhiều điều kiện của câu lệnh CASCADED IF có thể là 3 cùng một lúc. Khi điều đó xảy ra, chúng tôi muốn chạy mã cho mỗi điều kiện 3. Vì vậy, chúng tôi không cần một bản sao nếu tuyên bố; Chúng tôi yêu cầu cá nhân nếu câu lệnh thay thế. Như thế này:each 3 condition. So we don’t need a cascaded if statement; we require
individual if statements instead. Like this: 1Ở đây chúng tôi đã thay thế các điều khoản 5 bằng các bài kiểm tra 8 thích hợp. Điều đó làm cho mỗi người trong số họ độc lập với mã trước đó. Bây giờ khi khách hàng đặt hàng ba tính năng bổ sung khác nhau, anh ta hoặc cô ta thực sự có ba phần bổ sung. Ở đây, những gì mã bây giờ xuất ra: 2# Các loại python khác nếu câu lệnhBên cạnh tuyên bố theo tầng nếu Python còn có một vài tuyên bố quyết định khác:
Xem tất cả các bài viết trong danh mục IF để biết nhiều hơn về các câu lệnh của Python. # Bản tóm tắtMột câu lệnh IF hoặc IF/ELSE đánh giá một điều kiện duy nhất. Để kiểm tra nhiều điều kiện với nhau, chúng tôi sử dụng các mệnh đề 5 bổ sung. Điều đó tạo ra những gì được gọi là một câu lệnh if cascaded.Với một bản xếp tầng nếu câu lệnh Python đánh giá các điều kiện cho đến khi một trong số chúng là 3. Mã của mệnh đề đó sau đó thực thi, và sau đó câu lệnh CASCADED IF kết thúc. Ngay cả khi một số điều kiện là 3, Python vẫn chỉ chạy mã của bài kiểm tra 3 đầu tiên.Có hai tùy chọn khi tất cả các điều kiện kiểm tra 9. Điều khoản cuối cùng và tùy chọn 7 thực thi. Hoặc không có mã mặc định đó, không có gì của câu lệnh CASCADED chạy.Vì Python chỉ chạy điều kiện 3 đầu tiên, các điều kiện cao hơn trong câu lệnh Cascaded nếu có nhiều khả năng chạy. Mã thấp hơn trong câu lệnh CASCADED NẾU ít có khả năng thực thi. Những người yêu cầu sau tất cả các điều kiện trước đó là 9.Người giới thiệuLutz, M. (2013). Học Python (Phiên bản thứ 5). Sebastopol, CA: O hèReilly Media. Matthes, E. (2016). Python Crash Course: Một phần giới thiệu thực hành, dựa trên dự án về lập trình. San Francisco, CA: Không có báo chí tinh bột. Python.org (N.D.). Báo cáo ghép. Truy cập vào ngày 10 tháng 8 năm 2019, từ https://docs.python.org/3/reference/compound_stmts.html Sweigart, A. (2015). Tự động hóa những thứ nhàm chán với Python: Lập trình thực tế cho toàn bộ người mới bắt đầu. San Francisco, CA: Không có báo chí tinh bột. Xuất bản ngày 30 tháng 8 năm 2019. «Tất cả Python nếu/bài viết khác IF-ELES: Nếu điều kiện là đúng, thì khối mã bên trong câu lệnh IF được thực thi; Mặt khác, khối mã bên trong cái khác được thực thi. If-else-if: Nếu điều kiện là đúng, thì khối mã bên trong câu lệnh IF được thực thi.Một tầng là gì nếuif (condition1) { // do one thing } if (condition2) { // do other thing } Here, if condition1 is true, one thing will be done. Again, if condition2 is true, other thing will be done too. Nested: if (condition1) { // do one thing if (condition2) { // do other thing } }
Sự khác biệt giữa nếu và nếuTrong nếu, các câu lệnh bên trong khối if sẽ thực thi, nếu điều kiện là đúng và điều khiển được chuyển sang câu lệnh tiếp theo sau khối if.Trong IF khác, nếu điều kiện là đúng, các câu lệnh bên trong khối IF sẽ thực thi và nếu điều kiện là sai thì các câu lệnh trong khối IF khác sẽ thực thi.
Sự khác biệt giữa nếuKhông thực sự có một sự khác biệt.IF, nếu không, khác có điều kiện thực sự giống như cái lồng nhau với một trong các vỏ {} bị loại bỏ.Khi bạn chỉ có một câu lệnh duy nhất trong vỏ {}, bạn thường có thể loại bỏ {}.. The if, else if, else conditional is actually the same as the nested one with one of the {} enclosures removed. When you have only a single statement within a {} enclosure, you can usually eliminate the {}.
Sự khác biệt giữa nếuIF-ELES: Nếu điều kiện là đúng, thì khối mã bên trong câu lệnh IF được thực thi;Mặt khác, khối mã bên trong cái khác được thực thi.If-else-if: Nếu điều kiện là đúng, thì khối mã bên trong câu lệnh IF được thực thi. |