Từ khóa python nào là câu lệnh điều khiển có điều kiện?

Để viết các chương trình hữu ích, hầu như chúng ta luôn cần khả năng kiểm tra các điều kiện và thay đổi hành vi của chương trình cho phù hợp. Câu lệnh điều kiện cho chúng ta khả năng này. Dạng đơn giản nhất là câu lệnh if, có dạng tổng quát

if BOOLEAN EXPRESSION:
    STATEMENTS

Một vài điều quan trọng cần lưu ý về câu lệnh

if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
6

  1. Dấu hai chấm [

    if True:          # This is always true
        pass          # so this is always executed, but it does nothing
    else:
        pass
    
    8] là quan trọng và bắt buộc. Nó tách phần đầu của câu lệnh ghép khỏi phần thân

  2. Dòng sau dấu hai chấm phải được thụt vào. Tiêu chuẩn trong Python là sử dụng bốn khoảng trắng để thụt lề

  3. Tất cả các dòng được thụt vào cùng một lượng sau dấu hai chấm sẽ được thực thi bất cứ khi nào BOOLEAN EXPRESSION là true

Đây là một ví dụ

food = 'spam'

if food == 'spam':
    print['Ummmm, my favorite!']
    print['I feel like saying it 100 times...']
    print[100 * [food + '! ']]

Biểu thức boolean sau câu lệnh

if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
6 được gọi là điều kiện. Nếu nó đúng, thì tất cả các câu lệnh thụt lề sẽ được thực thi. Điều gì xảy ra nếu điều kiện là sai và
if x  y:
    STATEMENTS_B
else:
    STATEMENTS_C
0 không bằng
if x  y:
    STATEMENTS_B
else:
    STATEMENTS_C
1?

Chạy mã ví dụ này và xem điều gì sẽ xảy ra. Sau đó, thay đổi giá trị của

if x  y:
    STATEMENTS_B
else:
    STATEMENTS_C
0 thành giá trị khác với
if x  y:
    STATEMENTS_B
else:
    STATEMENTS_C
1 và chạy lại, xác nhận rằng bạn không nhận được bất kỳ kết quả nào

Lưu đồ của câu lệnh if

Như với mệnh đề

if x  y:
    STATEMENTS_B
else:
    STATEMENTS_C
5 ở chương trước, mệnh đề
if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
6 là mệnh đề ghép. Câu lệnh ghép bao gồm một dòng tiêu đề và một phần thân. Dòng tiêu đề của câu lệnh
if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
6 bắt đầu bằng từ khóa
if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
6 theo sau là một biểu thức boolean và kết thúc bằng dấu hai chấm [
if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
8]

Các câu lệnh thụt lề theo sau được gọi là một khối. Câu lệnh không thụt lề đầu tiên đánh dấu sự kết thúc của khối. Mỗi câu lệnh bên trong khối phải có cùng một vết lõm

Thụt lề và PEP 8 Python Style Guide

Cộng đồng Python đã phát triển Hướng dẫn về Phong cách cho Mã Python, thường được gọi đơn giản là “PEP 8”. Đề xuất cải tiến Python, hoặc PEP, là một phần của quy trình mà cộng đồng Python sử dụng để thảo luận và áp dụng các thay đổi đối với ngôn ngữ

PEP 8 khuyến nghị sử dụng 4 khoảng trắng cho mỗi mức thụt đầu dòng. Chúng tôi sẽ làm theo điều này [và các khuyến nghị PEP 8 khác] trong cuốn sách này

Để giúp chúng ta học cách viết mã Python có kiểu dáng đẹp, có một chương trình gọi là pep8 hoạt động như một trình kiểm tra hướng dẫn kiểu dáng tự động cho mã nguồn Python.

if choice == 'a':
    print["You chose 'a'."]
elif choice == 'b':
    print["You chose 'b'."]
elif choice == 'c':
    print["You chose 'c'."]
else:
    print["Invalid choice."]
0 có thể cài đặt dưới dạng gói trên các hệ thống GNU/Linux dựa trên Debian như Ubuntu

Trong phần của phụ lục, có hướng dẫn cách định cấu hình vim để chạy

if choice == 'a':
    print["You chose 'a'."]
elif choice == 'b':
    print["You chose 'b'."]
elif choice == 'c':
    print["You chose 'c'."]
else:
    print["Invalid choice."]
0 trên mã nguồn của bạn chỉ bằng một nút nhấn

4. 1. 2. Câu lệnh
if choice == 'a':
    print["You chose 'a'."]
elif choice == 'b':
    print["You chose 'b'."]
elif choice == 'c':
    print["You chose 'c'."]
else:
    print["Invalid choice."]
2

Thường xảy ra trường hợp bạn muốn điều này xảy ra khi điều kiện đó đúng và điều khác xảy ra khi điều kiện đó sai. Đối với điều đó, chúng tôi có tuyên bố

if choice == 'a':
    print["You chose 'a'."]
elif choice == 'b':
    print["You chose 'b'."]
elif choice == 'c':
    print["You chose 'c'."]
else:
    print["Invalid choice."]
2

if food == 'spam':
    print['Ummmm, my favorite!']
else:
    print["No, I won't have it. I want spam!"]

Ở đây, câu lệnh in đầu tiên sẽ thực thi nếu

if x  y:
    STATEMENTS_B
else:
    STATEMENTS_C
0 bằng với
if x  y:
    STATEMENTS_B
else:
    STATEMENTS_C
1 và câu lệnh in được thụt vào dưới mệnh đề
if choice == 'a':
    print["You chose 'a'."]
elif choice == 'b':
    print["You chose 'b'."]
elif choice == 'c':
    print["You chose 'c'."]
else:
    print["Invalid choice."]
6 sẽ được thực thi khi nó không

Lưu đồ câu lệnh if other

Cú pháp của câu lệnh

if choice == 'a':
    print["You chose 'a'."]
elif choice == 'b':
    print["You chose 'b'."]
elif choice == 'c':
    print["You chose 'c'."]
else:
    print["Invalid choice."]
2 trông như thế này

if BOOLEAN EXPRESSION:
    STATEMENTS_1        # executed if condition evaluates to True
else:
    STATEMENTS_2        # executed if condition evaluates to False

Mỗi câu lệnh bên trong khối

if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
6 của câu lệnh
if choice == 'a':
    print["You chose 'a'."]
elif choice == 'b':
    print["You chose 'b'."]
elif choice == 'c':
    print["You chose 'c'."]
else:
    print["Invalid choice."]
2 được thực thi theo thứ tự nếu biểu thức boolean ước tính là
if x  y:
        STATEMENTS_B
    else:
        STATEMENTS_C
0. Toàn bộ khối câu lệnh bị bỏ qua nếu biểu thức boolean ước tính là
if x  y:
        STATEMENTS_B
    else:
        STATEMENTS_C
1, và thay vào đó, tất cả các câu lệnh trong mệnh đề
if choice == 'a':
    print["You chose 'a'."]
elif choice == 'b':
    print["You chose 'b'."]
elif choice == 'c':
    print["You chose 'c'."]
else:
    print["Invalid choice."]
6 được thực thi

Không có giới hạn về số câu lệnh có thể xuất hiện dưới hai mệnh đề của một câu lệnh

if choice == 'a':
    print["You chose 'a'."]
elif choice == 'b':
    print["You chose 'b'."]
elif choice == 'c':
    print["You chose 'c'."]
else:
    print["Invalid choice."]
2, nhưng phải có ít nhất một câu lệnh trong mỗi khối. Đôi khi, sẽ rất hữu ích nếu có một phần không có câu lệnh nào [thường là để giữ chỗ, hoặc tạo khung cho đoạn mã bạn chưa viết]. Trong trường hợp đó, bạn có thể sử dụng câu lệnh
if x  y:
        STATEMENTS_B
    else:
        STATEMENTS_C
4, câu lệnh này không làm gì khác ngoài việc đóng vai trò giữ chỗ

if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass

Thuật ngữ Python

Tài liệu Python đôi khi sử dụng thuật ngữ bộ câu lệnh để chỉ cái mà chúng ta gọi là khối ở đây. Chúng có nghĩa giống nhau và vì hầu hết các ngôn ngữ khác và các nhà khoa học máy tính đều sử dụng khối từ, chúng tôi sẽ gắn bó với điều đó

Cũng lưu ý rằng

if choice == 'a':
    print["You chose 'a'."]
elif choice == 'b':
    print["You chose 'b'."]
elif choice == 'c':
    print["You chose 'c'."]
else:
    print["Invalid choice."]
6 không phải là một mệnh đề. Câu lệnh
if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
6 có hai mệnh đề, một trong số đó là mệnh đề [tùy chọn]
if choice == 'a':
    print["You chose 'a'."]
elif choice == 'b':
    print["You chose 'b'."]
elif choice == 'c':
    print["You chose 'c'."]
else:
    print["Invalid choice."]
6. Tài liệu Python gọi cả hai biểu mẫu, cùng với biểu mẫu tiếp theo mà chúng ta sắp gặp, câu lệnh
if True:          # This is always true
    pass          # so this is always executed, but it does nothing
else:
    pass
6

4. 2. Câu điều kiện theo chuỗi

Đôi khi có nhiều hơn hai khả năng và chúng ta cần nhiều hơn hai nhánh. Một cách để thể hiện một tính toán như vậy là một chuỗi điều kiện

if x  y:
    STATEMENTS_B
else:
    STATEMENTS_C

Lưu đồ của chuỗi điều kiện này

if x  y:
        STATEMENTS_B
    else:
        STATEMENTS_C
9 là viết tắt của
if 0 

Chủ Đề