Cách tránh các câu lệnh if lồng nhau trong Python

Có thể xảy ra trường hợp bạn muốn kiểm tra một điều kiện khác sau khi một điều kiện chuyển thành true. Trong tình huống như vậy, bạn có thể sử dụng cấu trúc if lồng nhau

Trong một cấu trúc if lồng nhau, bạn có thể có một if. yêu tinh. other xây dựng bên trong cái khác nếu. yêu tinh. khác xây dựng

cú pháp

Cú pháp của if lồng nhau. yêu tinh. cấu trúc khác có thể là -

if expression1:
   statement[s]
   if expression2:
      statement[s]
   elif expression3:
      statement[s]
   elif expression4:
      statement[s]
   else:
      statement[s]
else:
   statement[s]

Thí dụ

#!/usr/bin/python

var = 100
if var < 200:
   print "Expression value is less than 200"
   if var == 150:
      print "Which is 150"
   elif var == 100:
      print "Which is 100"
   elif var == 50:
      print "Which is 50"
   elif var < 50:
      print "Expression value is less than 50"
else:
   print "Could not find true expression"

print "Good bye!"

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

Expression value is less than 200
Which is 100
Good bye!

python_decision_making. htm

Điều này có thể đã được đề cập, nhưng câu trả lời "đi tới" [ý định chơi chữ] của tôi cho "mẫu hình đầu mũi tên" được hiển thị ở đây là để đảo ngược ifs. Kiểm tra điều ngược lại với các điều kiện hiện tại [đủ dễ dàng với toán tử not] và trả về từ phương thức nếu điều đó đúng. Không có gotos [mặc dù nói một cách thông tục, trả về khoảng trống không hơn gì một bước nhảy đến dòng mã gọi, với một bước bổ sung tầm thường là bật một khung ra khỏi ngăn xếp]

Trường hợp cụ thể, đây là bản gốc

if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}

tái cấu trúc

if [!Check#1] return;

CodeBlock#1

if [!Check#2] return;

CodeBlock#2

if [!Check#3] return;

CodeBlock#3

if [!Check#4] return;

CodeBlock#4

if [!Check#5] return;

CodeBlock#5

if [!Check#6] return;

CodeBlock#6

if [Check#7]
    CodeBlock#7
else
{
    //rest of the program
}

Tại mỗi nếu, về cơ bản chúng tôi kiểm tra xem chúng tôi có nên tiếp tục không. Nó hoạt động giống hệt như bản gốc chỉ với một cấp độ lồng nhau

Nếu có thứ gì đó ngoài phần cuối của đoạn mã này mà cũng sẽ được chạy, hãy trích xuất mã này thành phương thức riêng của nó và gọi nó từ bất kỳ nơi nào mà mã này hiện đang tồn tại, trước khi chuyển sang mã sẽ xuất hiện sau đoạn mã này. Bản thân đoạn mã đủ dài, được cung cấp đủ LỘC thực tế trong mỗi khối mã, để biện minh cho việc tách ra một số phương thức khác, nhưng tôi lạc đề

Các chương trình Python của chúng tôi tạo hành vi 'nếu điều này, hãy làm điều đó' cơ bản với các câu lệnh if. Bằng cách đó, mã của chúng tôi đưa ra quyết định trong khi chạy. Nhưng để xử lý các tình huống phức tạp, chúng ta cũng có thể đặt một câu lệnh if bên trong một câu lệnh khác. Hãy xem làm thế nào

TRONG BÀI VIẾT NÀY

  • Câu lệnh if phụ thuộc vào các câu lệnh if khác. Các if lồng nhau của Python
    • mẫu mặc định. câu lệnh if bên trong câu lệnh khác
    • mẫu mặc định. câu lệnh if bên trong khối mã
      if conditionA:
          # Code here executes when 'conditionA' is True
      else:
          # Code that runs when 'conditionA' is False
      
          if conditionB:
              # Code that runs when 'conditionA' is False
              # and 'conditionB' is True
      
      0
  • Các chương trình ví dụ về Python sử dụng các câu lệnh if lồng nhau
    • Thí dụ. so sánh tuổi với câu lệnh if lồng nhau
    • Thí dụ. lồng nhau nếu xử lý hàng tồn kho sản phẩm
    • Thí dụ. đánh giá đầu vào của người dùng với các câu lệnh if lồng nhau
  • Các cách khác để viết mã Python nếu câu lệnh
  • Bản tóm tắt

# Câu lệnh if phụ thuộc vào các câu lệnh if khác. Các if lồng nhau của Python

Câu lệnh if lồng nhau là một câu lệnh if được lồng [nghĩa là bên trong] một câu lệnh if khác hoặc câu lệnh if/else. Những tuyên bố đó kiểm tra điều kiện đúng/sai và sau đó thực hiện hành động thích hợp [Lutz, 2013; Matthes, 2016]. Đó là cách chúng tôi thực thi mã Python một cách có điều kiện [Python Docs, n. d. ]

Khi chúng tôi nhận được một câu lệnh if hoặc if/else thông thường, chúng tôi sẽ kiểm tra một điều kiện và sau đó thực thi một số mã. Nhưng một câu lệnh if lồng nhau cũng phụ thuộc vào cách bài kiểm tra

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
2 trước đó đánh giá. Đây là một cách để thực hiện các điều kiện được kiểm tra lẫn nhau. Nó cũng mang đến cho chương trình của chúng ta cơ hội thực thi mã giữa các câu lệnh if. Hãy xem làm thế nào

# Mẫu mặc định. câu lệnh if bên trong câu lệnh khác

Có hai cách chính để tạo câu lệnh if lồng nhau. Tùy chọn đầu tiên là đặt câu lệnh if bên trong khối mã

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
2. Tùy chọn khác là đặt câu lệnh if trong mã
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
0 của câu lệnh if/else

Vì vậy, cách tiếp cận đầu tiên yêu cầu chúng ta đặt một câu lệnh if bên trong một câu lệnh khác. Đây là giao diện của nó

if conditionA:
    # Code that executes when 'conditionA' is True

    if conditionB:
        # Code that runs when 'conditionA' and
        # 'conditionB' are both True

Python đánh giá câu lệnh if lồng nhau này khi điều kiện của câu lệnh if trước đó là

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
4. Khi
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
5 là
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
6, câu lệnh if lồng nhau của chúng ta sẽ không bao giờ chạy. Điều đó xảy ra ngay cả khi điều kiện của chính nó là
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
4

Lưu ý rằng, khi câu lệnh if đầu tiên kiểm tra

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
4, câu lệnh thứ hai không đảm bảo sẽ chạy. Rốt cuộc, điều kiện của câu lệnh if lồng nhau đó cũng phải kiểm tra
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
4. Vì vậy, mã của câu lệnh if lồng nhau chỉ chạy khi
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
5 và
#!/usr/bin/python

var = 100
if var < 200:
   print "Expression value is less than 200"
   if var == 150:
      print "Which is 150"
   elif var == 100:
      print "Which is 100"
   elif var == 50:
      print "Which is 50"
   elif var < 50:
      print "Expression value is less than 50"
else:
   print "Could not find true expression"

print "Good bye!"
51 là
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
4. Nếu một hoặc cả hai là
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
6, mã đó không thực thi

# Mẫu mặc định. câu lệnh if bên trong khối mã
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
0

Cách thứ hai để tạo câu lệnh if lồng nhau là đặt câu lệnh if bên trong mã

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
0 của câu lệnh if/else. Đây là giao diện của nó

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True

Bây giờ câu lệnh if lồng nhau của chúng ta chỉ có thể chạy khi điều kiện của câu lệnh if/else trước đó là

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
6. Bởi vì khi điều kiện đó là
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
4, khối mã chứa câu lệnh if lồng nhau sẽ không bao giờ thực thi

Tuy nhiên, ngay cả khi điều kiện của câu lệnh if/else kiểm tra

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
6, câu lệnh if lồng nhau không phải lúc nào cũng chạy. Rốt cuộc, điều kiện của chính nó phải là
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
4 để điều đó xảy ra

Vì vậy, đối với đoạn mã trên, câu lệnh if lồng nhau chỉ thực thi khi

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
5 là
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
6 và
#!/usr/bin/python

var = 100
if var < 200:
   print "Expression value is less than 200"
   if var == 150:
      print "Which is 150"
   elif var == 100:
      print "Which is 100"
   elif var == 50:
      print "Which is 50"
   elif var < 50:
      print "Expression value is less than 50"
else:
   print "Could not find true expression"

print "Good bye!"
51 là
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
4. Điều này cho thấy một tính năng thiết yếu của câu lệnh if lồng nhau. chúng chỉ chạy phụ thuộc vào các câu lệnh if khác

Ý định của một câu lệnh if lồng nhau là quan trọng. Có bao nhiêu Tab hoặc Khoảng trắng cho mỗi dòng xác định mã nào thuộc về câu lệnh if nào

Nếu chúng ta thụt đầu dòng sai, Python sẽ nghĩ rằng một số mã không thuộc về câu lệnh if lồng nhau và chương trình của chúng ta hoạt động kỳ lạ hoặc tạo ra lỗi

# Chương trình ví dụ về Python sử dụng câu lệnh if lồng nhau

Bây giờ chúng ta đã biết câu lệnh if lồng nhau hoạt động như thế nào, hãy khám phá một số chương trình ví dụ hoàn chỉnh

# Thí dụ. so sánh tuổi với câu lệnh if lồng nhau

Khi chúng ta sử dụng câu lệnh if lồng nhau, chúng ta thường thực hiện các phép so sánh bổ sung sau câu lệnh if thông thường. Chương trình dưới đây là một ví dụ về điều đó. Trước tiên chúng tôi kiểm tra xem người đó có phải là người lớn không. Sau đó, chúng tôi so sánh thêm để xem liệu người đó đã tốt nghiệp hoặc có bằng lái xe hay chưa

#!/usr/bin/python

var = 100
if var < 200:
   print "Expression value is less than 200"
   if var == 150:
      print "Which is 150"
   elif var == 100:
      print "Which is 100"
   elif var == 50:
      print "Which is 50"
   elif var < 50:
      print "Expression value is less than 50"
else:
   print "Could not find true expression"

print "Good bye!"
5

Đầu tiên chúng tôi thực hiện ba biến.

if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
04 có giá trị là
if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
05.
if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
06 là
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
6. Và
if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
08 có giá trị
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
4

Sau đó, một câu lệnh if sẽ xem nếu người đó từ 18 tuổi trở lên. Vì biến

if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
04 của chúng ta có giá trị là
if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
05 nên điều kiện đó sẽ kiểm tra
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
4. Mã bên trong câu lệnh if đầu tiên có hàm
if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
93 nói gì đó sến

Sau đó, chúng tôi tạo hai câu lệnh if lồng nhau. Đầu tiên kiểm tra biến

if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
06. Vì biến đó là
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
6 nên mã của câu lệnh if này không thực thi

Câu lệnh if lồng nhau khác tra cứu

if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
08. Biến đó là
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
4 và vì vậy Python thực thi mã của nó. Có chức năng
if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
93 chúc người lái xe vui vẻ. Lưu ý rằng chúng tôi không phải kiểm tra xem người đó có phải là người lớn hay không; . Vì vậy, thông báo 'lái xe vui vẻ' chỉ có thể hiển thị cho người lớn

Đây là đầu ra mà chương trình tạo ra

if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
0

# Thí dụ. lồng nhau nếu xử lý hàng tồn kho sản phẩm

Trong chương trình bên dưới, chúng tôi so sánh quy mô của đơn đặt hàng Thương mại điện tử mới với số lượng hàng tồn kho còn lại. Nếu có đủ hàng trong kho, chúng tôi có câu lệnh if lồng nhau để xem lô hàng cần bao nhiêu kiện hàng

Mã của chương trình nhỏ là

if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
9

Đầu tiên chúng ta tạo hai biến,

if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
99 và
if [!Check#1] return;

CodeBlock#1

if [!Check#2] return;

CodeBlock#2

if [!Check#3] return;

CodeBlock#3

if [!Check#4] return;

CodeBlock#4

if [!Check#5] return;

CodeBlock#5

if [!Check#6] return;

CodeBlock#6

if [Check#7]
    CodeBlock#7
else
{
    //rest of the program
}
80. Họ nhận được các giá trị của
if [!Check#1] return;

CodeBlock#1

if [!Check#2] return;

CodeBlock#2

if [!Check#3] return;

CodeBlock#3

if [!Check#4] return;

CodeBlock#4

if [!Check#5] return;

CodeBlock#5

if [!Check#6] return;

CodeBlock#6

if [Check#7]
    CodeBlock#7
else
{
    //rest of the program
}
81 và
if [!Check#1] return;

CodeBlock#1

if [!Check#2] return;

CodeBlock#2

if [!Check#3] return;

CodeBlock#3

if [!Check#4] return;

CodeBlock#4

if [!Check#5] return;

CodeBlock#5

if [!Check#6] return;

CodeBlock#6

if [Check#7]
    CodeBlock#7
else
{
    //rest of the program
}
82. Sau đó, chúng tôi xuất giá trị của chúng bằng hàm
if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
93

Sau đó, câu lệnh if/else đánh giá xem quy mô đơn đặt hàng [_______399] có lớn hơn hoặc bằng [

if [!Check#1] return;

CodeBlock#1

if [!Check#2] return;

CodeBlock#2

if [!Check#3] return;

CodeBlock#3

if [!Check#4] return;

CodeBlock#4

if [!Check#5] return;

CodeBlock#5

if [!Check#6] return;

CodeBlock#6

if [Check#7]
    CodeBlock#7
else
{
    //rest of the program
}
85] các mặt hàng còn lại trong kho [
if [!Check#1] return;

CodeBlock#1

if [!Check#2] return;

CodeBlock#2

if [!Check#3] return;

CodeBlock#3

if [!Check#4] return;

CodeBlock#4

if [!Check#5] return;

CodeBlock#5

if [!Check#6] return;

CodeBlock#6

if [Check#7]
    CodeBlock#7
else
{
    //rest of the program
}
80] hay không. Vì quy mô đơn đặt hàng không lớn hơn những gì công ty có trong kho, nên Python thực thi khối mã
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
0

Ở đó chúng tôi tính toán đơn đặt hàng này cần bao nhiêu gói. Để làm được điều đó, chúng tôi chia kích thước đơn hàng cho

if [!Check#1] return;

CodeBlock#1

if [!Check#2] return;

CodeBlock#2

if [!Check#3] return;

CodeBlock#3

if [!Check#4] return;

CodeBlock#4

if [!Check#5] return;

CodeBlock#5

if [!Check#6] return;

CodeBlock#6

if [Check#7]
    CodeBlock#7
else
{
    //rest of the program
}
88 và làm tròn giá trị đó thành một số nguyên bằng hàm
if [!Check#1] return;

CodeBlock#1

if [!Check#2] return;

CodeBlock#2

if [!Check#3] return;

CodeBlock#3

if [!Check#4] return;

CodeBlock#4

if [!Check#5] return;

CodeBlock#5

if [!Check#6] return;

CodeBlock#6

if [Check#7]
    CodeBlock#7
else
{
    //rest of the program
}
89. Chúng tôi lưu trữ kết quả trong biến
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
80

Sau đó, một câu lệnh if lồng nhau sẽ xem liệu có cần nhiều hơn [

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
81]
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
82 gói hay không. Khi đó,
if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
93 nói rằng chúng tôi cần nhiều gói hàng

Lưu ý rằng câu lệnh if lồng nhau này an toàn khi cho rằng có đủ mặt hàng để vận chuyển. Đó là bởi vì điều kiện của câu lệnh if/else đã được kiểm tra rồi. Nếu không có đủ các mục, mã

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
0 sẽ không thực thi và câu lệnh if lồng nhau của chúng ta cũng vậy

Đây là kết quả đầu ra của chương trình trông như thế nào

if [!Check#1] return;

CodeBlock#1

if [!Check#2] return;

CodeBlock#2

if [!Check#3] return;

CodeBlock#3

if [!Check#4] return;

CodeBlock#4

if [!Check#5] return;

CodeBlock#5

if [!Check#6] return;

CodeBlock#6

if [Check#7]
    CodeBlock#7
else
{
    //rest of the program
}
8

# Thí dụ. đánh giá đầu vào của người dùng với các câu lệnh if lồng nhau

Tất nhiên, nếu các câu lệnh lồng nhau cũng hữu ích trong các tình huống phức tạp hơn. Một ví dụ về điều đó là chương trình dưới đây. Tập lệnh Python này yêu cầu người dùng đặt tên cho thành phố thủ đô của Đức. Chúng tôi theo dõi số lần thử mà người dùng cần và đưa ra gợi ý dựa trên số lần người dùng đoán

Mã đầy đủ của chương trình là

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
8

Trước tiên, chúng tôi tạo biến

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
85, trong đó chúng tôi lưu trữ câu hỏi kiểm tra của mình để sử dụng sau. Với biến
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
86, chúng tôi đếm xem người dùng đã đoán bao nhiêu lần

Khi chúng ta tạo một vòng lặp

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
87 vô hạn. Khi bắt đầu vòng lặp, chúng tôi tăng biến
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
86 với một. Sau đó, chúng tôi đặt câu hỏi. Để làm được điều đó, chúng tôi sử dụng biến
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
85 bên trong hàm
if conditionA:
    # Code that executes when 'conditionA' is True

    if conditionB:
        # Code that runs when 'conditionA' and
        # 'conditionB' are both True
00. Chúng tôi lưu trữ câu trả lời của người dùng trong biến
if conditionA:
    # Code that executes when 'conditionA' is True

    if conditionB:
        # Code that runs when 'conditionA' and
        # 'conditionB' are both True
01

Sau đó, chúng tôi đánh giá biến đó bằng câu lệnh if/else. Điều kiện

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
2 xem xét liệu câu trả lời bằng chữ thường [_______ 703] có khớp với [________ 704] _______ 705 hay không. Khi đó, hàm
if [Check#1]
{
    CodeBlock#1
    if [Check#2]
    {
        CodeBlock#2
        if [Check#3]
        {
            CodeBlock#3
            if [Check#4]
            {
                CodeBlock#4
                if [Check#5]
                {
                    CodeBlock#5
                    if [Check#6]
                    {
                        CodeBlock#6
                        if [Check#7]
                        {
                            CodeBlock#7
                        }
                        else
                        {
                            rest - of - the - program
                        }
                    }
                }
            }
        }
    }
}
93 cho biết người dùng đã hiểu đúng. Sau đó, chúng tôi dừng vòng lặp bằng câu lệnh
if conditionA:
    # Code that executes when 'conditionA' is True

    if conditionB:
        # Code that runs when 'conditionA' and
        # 'conditionB' are both True
07

Khi người dùng không hiểu đúng, mã

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
0 sẽ thực thi. Ở đó chúng ta có ba câu lệnh if lồng nhau. Mỗi đánh giá một số lần thử khác nhau. Đối với lần thử thất bại đầu tiên của người dùng, câu lệnh if lồng nhau đầu tiên cung cấp gợi ý đầu tiên. Ở lần thử thứ hai và thứ ba, các câu lệnh if lồng nhau khác đưa ra các gợi ý khác nhau

Đây là cách đầu ra của chương trình có thể trông như thế nào

if conditionA:
    # Code that executes when 'conditionA' is True

    if conditionB:
        # Code that runs when 'conditionA' and
        # 'conditionB' are both True
0

Thay vì sử dụng một số câu lệnh if lồng nhau, chúng ta cũng có thể mã hóa chương trình này bằng một loạt câu lệnh if được xâu chuỗi lại với nhau. Xem câu lệnh if xếp tầng của Python để tìm hiểu thêm

# Các cách khác để viết mã câu lệnh if trong Python

Bên cạnh việc đặt một câu lệnh if bên trong một câu lệnh khác, Python còn có các loại câu lệnh if khác

  • Câu lệnh if thông thường thực thi mã bất cứ khi nào một điều kiện kiểm tra
    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    4
  • Mặt khác, câu lệnh if/else cũng thực thi mã khi điều kiện kiểm tra
    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    6
  • Với câu lệnh if/else lồng nhau, chúng ta đặt mã if/else bên trong một khối mã
    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    2 hoặc
    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    0 khác. Điều đó làm cho câu lệnh if/else đó chạy dựa trên câu lệnh if khác
  • Và với câu lệnh if xếp tầng, chúng tôi đánh giá một loạt các điều kiện riêng biệt cho đến khi một trong số chúng là
    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    4

Xem tất cả các bài viết trong danh mục câu lệnh if để tìm hiểu thêm về câu lệnh if trong Python

# Bản tóm tắt

Câu lệnh if lồng nhau là câu lệnh if được đặt bên trong câu lệnh if khác. Có hai cách để làm một

Chúng ta có thể đặt một câu lệnh if bên trong mã

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
2 của một câu lệnh if khác. Trước khi câu lệnh if lồng nhau đó thực thi, cả điều kiện của nó và điều kiện của câu lệnh if trước đó phải là
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
4

Ngoài ra, chúng tôi lồng câu lệnh if bên trong mã

if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
0 của câu lệnh if/else. Điều đó vẫn yêu cầu điều kiện của câu lệnh if lồng nhau là
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
4, nhưng bây giờ điều kiện của câu lệnh if/else trước đó phải là
if conditionA:
    # Code here executes when 'conditionA' is True
else:
    # Code that runs when 'conditionA' is False

    if conditionB:
        # Code that runs when 'conditionA' is False
        # and 'conditionB' is True
6

Bất kể chúng ta tạo câu lệnh if lồng nhau như thế nào, việc thực thi câu lệnh này luôn phụ thuộc vào câu lệnh if hoặc if/else trước đó

Người giới thiệu

Lutz, M. [2013]. Học Python [Phiên bản thứ 5]. Sebastopol, CA. Truyền thông O'Reilly

Matthes, E. [2016]. Khóa học về sự cố Python. Giới thiệu thực hành, dựa trên dự án về lập trình. San Francisco, CA. Không ép tinh bột

con trăn. tổ chức [n. d. ]. câu lệnh ghép. Truy cập ngày 10 tháng 8 năm 2019, từ https. // tài liệu. con trăn. org/3/reference/compound_stmts. html

Xuất bản ngày 30 tháng 8 năm 2019

# Hướng dẫn Python liên quan

  • Nếu các câu lệnh kiểm tra điều ngược lại. Giải thích về
    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    29 của Python

    Hầu hết các câu lệnh if của Python đều tìm kiếm một tình huống cụ thể. Nhưng chúng ta cũng có thể thực thi mã khi một điều kiện cụ thể không xảy ra. Chúng tôi làm điều đó với

    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    20

  • Kiểm tra tư cách thành viên với câu lệnh if của Python.
    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    21 và
    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    22 giải thích

    Các câu lệnh if của Python kiểm tra tư cách thành viên của một giá trị với

    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    23. Và
    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    22 xem có thiếu giá trị không. Điều này hoạt động với chuỗi, danh sách và từ điển

  • Câu lệnh if/else lồng nhau của Python. đánh giá các điều kiện phức tạp, phụ thuộc

    Câu lệnh if/else lồng nhau đặt logic if/else bên trong một khối mã

    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    2 hoặc
    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    0 khác. Với chúng, chúng tôi đánh giá các tình huống phức tạp, phụ thuộc theo chương trình

  • Câu lệnh if xếp tầng của Python. kiểm tra nhiều điều kiện sau mỗi khác

    Câu lệnh if xếp tầng của Python đánh giá nhiều điều kiện liên tiếp. Khi một là

    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    4, mã đó sẽ chạy. Nếu tất cả đều là
    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    6 thì mã
    if conditionA:
        # Code here executes when 'conditionA' is True
    else:
        # Code that runs when 'conditionA' is False
    
        if conditionB:
            # Code that runs when 'conditionA' is False
            # and 'conditionB' is True
    
    0 sẽ thực thi

  • Giải thích câu lệnh if trong Python. thực thi mã có điều kiện

    Các câu lệnh if của Python đưa ra quyết định bằng cách đánh giá một điều kiện. Khi ________ 54, mã thụt vào bên dưới ________ 92 sẽ chạy. Khác chương trình của chúng tôi tiếp tục với mã khác

    Tôi có thể sử dụng cái gì thay vì các câu lệnh if lồng nhau trong Python?

    Nếu không sử dụng cấu trúc dữ liệu khác, bạn có thể di chuyển các câu lệnh if-else lồng nhau vào và điều kiện cho các câu lệnh if-else cấp cao nhất. .
    Đây là cách Pythonic

    Tại sao chúng ta nên tránh sử dụng các điều kiện lồng nhau trong Python?

    Mặc dù việc thụt lề của các câu lệnh làm cho cấu trúc trở nên rõ ràng, nhưng các điều kiện lồng nhau trở nên khó đọc rất nhanh . Nói chung, nên tránh chúng khi bạn có thể.

    Có nên tránh các câu lệnh if lồng nhau không?

    Tránh sử dụng câu lệnh if-else lồng nhau . Giữ mã tuyến tính và đơn giản. Sử dụng các hàm/phương thức tạo. So sánh nó khi chúng tôi cố gắng sử dụng câu lệnh if-else được lồng vào nhau và không sử dụng sức mạnh của câu lệnh return, Chúng tôi nhận được điều này [Mã 1. 4].

    Câu lệnh khác có thể tránh được nhiều câu lệnh if lồng nhau là gì?

    Để kiểm tra nhiều điều kiện và trả về các giá trị khác nhau dựa trên kết quả của những kiểm tra đó, bạn có thể sử dụng hàm CHOOSE thay vì các IF lồng nhau.

Chủ Đề