Luồng điều khiển trong Python

Luồng điều khiển trong Python

Bài viết này giải thích về luồng điều khiển trong Python.

YouTube Video

Câu lệnh If trong Python

Câu lệnh if trong Python là cú pháp để rẽ nhánh có điều kiện. Nó được sử dụng để thực thi một khối mã nếu một điều kiện cụ thể đánh giá là True (đúng).

Cú pháp Cơ bản

Câu lệnh if trong Python về cơ bản tuân theo cấu trúc dưới đây.

1x = 10
2
3if x > 5: # Check if the condition(x > 5) is True
4    # If the condition is True, execute this code block
5    print("x is greater than 5")

Trong ví dụ này, nếu biến x lớn hơn 5, "x is greater than 5" sẽ được in ra.

Câu lệnh else

Sử dụng else sau một câu lệnh if cho phép bạn chỉ định mã sẽ được thực thi khi điều kiện là sai.

1x = 3
2
3if x > 5:
4    print("x is greater than 5")
5else:
6    print("x is less than or equal to 5")

Trong ví dụ này, đầu ra sẽ là "x is less than or equal to 5".

Câu lệnh elif

Nếu bạn cần kiểm tra nhiều điều kiện, bạn có thể sử dụng elif, viết tắt của "else if".

1x = 5
2
3if x > 5:
4    print("x is greater than 5")
5elif x == 5:
6    print("x is equal to 5")
7else:
8    print("x is less than 5")

Trong ví dụ này, "x is equal to 5" sẽ được in ra.

Ghi chú

  • Dấu hai chấm (:) là bắt buộc sau if, elif hoặc else.
  • Khối mã thực thi khi một điều kiện đúng cần được thụt lề. Trong Python, thụt lề tiêu chuẩn thường là 4 dấu cách, nhưng số lượng dấu cách khác cũng được chấp nhận miễn là bạn nhất quán.
  • Bạn có thể sử dụng bất kỳ biểu thức nào đánh giá ra giá trị boolean làm điều kiện. Điều này có nghĩa là bạn có thể sử dụng các biểu thức điều kiện kết hợp với toán tử so sánh hoặc toán tử logic.

Nắm vững câu lệnh if trong Python cho phép bạn kiểm soát luồng thực thi của chương trình một cách linh hoạt.

Rẽ nhánh điều kiện đa cấp trong Python

Có nhiều cách để triển khai chức năng giống như switch trong Python, tương tự như trong các ngôn ngữ lập trình khác. Trong Python, việc sử dụng các câu lệnh if-elif-else hoặc các từ điển để tạo các cấu trúc tương tự câu lệnh switch là điều phổ biến.

Phương pháp 1: Câu lệnh if-elif-else

Cách đơn giản nhất là sử dụng câu lệnh if-elif-else để phân nhánh điều kiện.

 1def switch_example(value):
 2    if value == 1:
 3        return "Value is one"
 4    elif value == 2:
 5        return "Value is two"
 6    elif value == 3:
 7        return "Value is three"
 8    else:
 9        return "Unknown value"
10
11print(switch_example(1))  # Output: Value is one
12print(switch_example(4))  # Output: Unknown value

Phương pháp 2: Sử dụng Từ điển

Bằng cách ánh xạ các hàm hoặc giá trị vào từ điển, có thể tạo một cấu trúc tương tự như câu lệnh switch. Điều này thuận tiện khi bạn muốn thực hiện các thao tác khác nhau cho các giá trị cụ thể.

 1def case_one():
 2    return "Value is one"
 3
 4def case_two():
 5    return "Value is two"
 6
 7def case_default():
 8    return "Unknown value"
 9
10def switch_example(value):
11    switch_dict = {
12        1: case_one,
13        2: case_two
14    }
15
16    # Use get() method to retrieve the corresponding function from the dictionary
17    # If the value is not found in the dictionary, use case_default as a fallback
18    return switch_dict.get(value, case_default)()
19
20print(switch_example(1))  # Output: Value is one
21print(switch_example(3))  # Output: Unknown value

Phương pháp 3: Câu lệnh match (Python 3.10 trở lên)

Câu lệnh match được giới thiệu trong Python 3.10. Đây là một cú pháp khớp mẫu cung cấp chức năng tương tự như câu lệnh switch.

 1def switch_example(value):
 2    match value:
 3        case 1:
 4            return "Value is one"
 5        case 2:
 6            return "Value is two"
 7        case 3:
 8            return "Value is three"
 9        case _:
10            return "Unknown value"
11
12print(switch_example(1))  # Output: Value is one
13print(switch_example(4))  # Output: Unknown value

Tóm tắt

  • Câu lệnh if-elif-else: Đơn giản và dễ thích nghi với nhiều trường hợp.
  • Từ điển: Sử dụng ánh xạ các hàm hoặc giá trị để tạo phân nhánh hiệu quả.
  • Câu lệnh match: Cho phép phân nhánh trực quan hơn trong Python 3.10 trở lên. Gần nhất với một câu lệnh switch.

Vòng lặp for trong Python

for trong Python dùng để lặp qua từng phần tử của một đối tượng có thể lặp được như danh sách, chuỗi hoặc từ điển. Cú pháp cơ bản của câu lệnh for như sau:.

1# Loop through each item in the iterable
2for variable in iterable:
3    # Execute this block of code for each item in the iterable
4    code_to_execute

Dưới đây là một số ví dụ cụ thể:.

Ví dụ sử dụng Danh sách

1fruits = ["apple", "banana", "cherry"]
2for fruit in fruits:
3    print(fruit)

Đoạn mã này gọi hàm print cho từng phần tử trong danh sách fruits, và in ra tên của từng loại trái cây.

Ví dụ sử dụng range()

Hàm range() tạo ra các số nguyên trong một phạm vi nhất định, rất hữu ích cho các vòng lặp số.

1for i in range(5):
2    print(i)

range(5) tạo ra các số nguyên từ 0 đến 4. Trong trường hợp này, 0, 1, 2, 3, 4 sẽ được in ra tuần tự.

Ví dụ sử dụng Từ điển

Đối với từ điển, các khóa được lặp qua theo mặc định, nhưng bạn cũng có thể lấy cả cặp khóa-giá trị.

1person = {"name": "Alice", "age": 25}
2for key in person:
3    print(key, person[key])

Ngoài ra, sử dụng phương thức items() để đồng thời truy xuất các khóa và giá trị.

1person = {"name": "Alice", "age": 25}
2for key, value in person.items():
3    print(key, value)

Vòng lặp lồng nhau for

Cũng có thể lồng các vòng lặp for để thực hiện các quá trình lặp phức tạp.

1matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
2for row in matrix:
3    for num in row:
4        print(num)

Đoạn mã này lặp qua từng hàng của danh sách matrix và lần lượt xuất ra các số trong từng hàng.

continue để bỏ qua một lần lặp và break để kết thúc vòng lặp

Sử dụng continue trong vòng lặp for sẽ bỏ qua lần lặp hiện tại và chuyển đến lần lặp tiếp theo. Ngoài ra, sử dụng break sẽ hoàn toàn kết thúc vòng lặp.

1for i in range(10):
2    if i == 5:
3        continue
4    if i == 8:
5        break
6    print(i)

Trong ví dụ này, vòng lặp sẽ bỏ qua khi i bằng 5 và kết thúc khi i bằng 8. Do đó, kết quả sẽ là 0, 1, 2, 3, 4, 6, 7.

Vòng lặp for trong Python rất linh hoạt và có thể được sử dụng trong nhiều tình huống khác nhau. Tùy thuộc vào loại xử lý lặp mà bạn muốn thực hiện, nó có thể được sử dụng kết hợp với danh sách, từ điển, chuỗi, và range().

Vòng lặp while trong Python

Trong Python, vòng lặp while là một cấu trúc điều khiển được sử dụng để thực thi lặp đi lặp lại mã bên trong khối miễn là điều kiện vẫn là True. Cú pháp cơ bản của vòng lặp while như sau:.

1while condition:
2    # This block of code will be executed repeatedly as long as the condition is true
3    statement1
4    statement2
5    ...

Ví dụ:

Trong ví dụ sau, một vòng lặp while được sử dụng để xuất ra các số từ 1 đến 5.

1i = 1
2while i <= 5:
3    print(i)
4    i += 1

Mã này hoạt động như sau.

  • Bắt đầu với i là 1, in ra i khi nó nhỏ hơn hoặc bằng 5, và tăng i lên 1 sau mỗi lần lặp.

Lưu ý:

Bạn cần lưu ý những điểm sau khi sử dụng câu lệnh while.

  1. Cẩn thận với vòng lặp vô tận

    • Nếu điều kiện trong vòng lặp while luôn đúng (True), nó sẽ dẫn đến vòng lặp vô tận. Cần thực hiện các thao tác phù hợp để thay đổi điều kiện; nếu không, chương trình sẽ không dừng lại.
  2. Sử dụng breakcontinue:

    • break được sử dụng khi bạn muốn thoát khỏi vòng lặp trước khi hoàn thành.
    • continue bỏ qua lần lặp hiện tại và chuyển sang lần lặp tiếp theo. Hãy cẩn thận vì điều kiện vòng lặp không đúng có thể dẫn đến vòng lặp vô tận.

Ví dụ về break:

1i = 1
2while i <= 5:
3    if i == 3:
4        break  # Exit the loop when i becomes 3
5    print(i)
6    i += 1
  • Trong trường hợp này, sau khi 12 được xuất ra, vòng lặp kết thúc khi i trở thành 3.

Ví dụ về continue:

1i = 0
2while i < 5:
3    i += 1
4    if i == 3:
5        # Skip the print statement and move to the next loop iteration when i is 3
6        continue
7    print(i)
  • Trong trường hợp này, chỉ bỏ qua đầu ra cho 3, dẫn đến kết quả là 1, 2, 4, 5.
  • Bằng cách tăng giá trị của i ở đầu vòng lặp, bộ đếm vẫn được tăng lên ngay cả khi thực thi continue, nhờ đó tránh được vòng lặp vô tận.

Bạn có thể làm theo bài viết trên bằng cách sử dụng Visual Studio Code trên kênh YouTube của chúng tôi. Vui lòng ghé thăm kênh YouTube.

YouTube Video