Skip to main content

Dự kiến hệ thống KRX sẽ go-live chính thức vào tháng 5 tới

· 2 min read

Theo báo Nhân Dân, hệ thống KRX dự kiến sẽ chính thức go-live vào tháng 5 năm nay. Đây là một trong những bước tiến quan trọng nhằm hiện đại hóa thị trường chứng khoán Việt Nam, nâng cao hiệu suất giao dịch và tăng cường khả năng kết nối với thị trường quốc tế.

Những điểm nổi bật của hệ thống KRX:

  • Tăng tốc độ xử lý giao dịch, giúp giảm thời gian chờ và nâng cao trải nghiệm của nhà đầu tư.
  • Cung cấp các sản phẩm mới, bao gồm giao dịch T+0 và các công cụ phái sinh nâng cao.
  • Nâng cao năng lực giám sát thị trường, đảm bảo minh bạch và công bằng hơn trong giao dịch chứng khoán.
  • Tích hợp công nghệ tiên tiến, hỗ trợ các chuẩn mực giao dịch hiện đại.

Hệ thống KRX đã được chuẩn bị trong nhiều năm và hiện đang trong giai đoạn thử nghiệm cuối cùng trước khi triển khai chính thức. Việc hệ thống mới đi vào hoạt động sẽ đánh dấu một cột mốc quan trọng trong quá trình chuyển đổi số của thị trường chứng khoán Việt Nam.

🔗 Xem chi tiết bài viết gốc:
Nhân Dân

🎯 Ngày 7 – SQL Server 365 ngày - ORDER BY – Sắp xếp kết quả truy vấn

· 2 min read

Chủ đề: ORDER BY – Sắp xếp kết quả truy vấn


✅ Mục tiêu học hôm nay

Học cách sử dụng ORDER BY để sắp xếp kết quả theo một hoặc nhiều cột, theo:

  • Tăng dần (ASC) – mặc định
  • Giảm dần (DESC)

📘 Câu lệnh mẫu

SELECT FirstName, LastName, HireDate
FROM Employees
ORDER BY HireDate ASC;

📝 Giải thích:

  • ORDER BY HireDate ASC sắp xếp theo thứ tự tăng dần ngày tuyển dụng.
  • ASC là mặc định, có thể bỏ qua.

🔄 Ví dụ nâng cao

SELECT FirstName, LastName, Salary
FROM Employees
ORDER BY Salary DESC, LastName ASC;

📝 Ý nghĩa:

  • Sắp xếp theo Salary giảm dần (cao → thấp)
  • Nếu trùng lương, sắp tiếp theo LastName tăng dần (A → Z)

🧪 Thực hành

Viết truy vấn SQL để:

  1. Sắp xếp theo FirstName tăng dần
  2. Sắp xếp theo Salary giảm dần
  3. Sắp xếp theo HireDate từ mới nhất đến cũ nhất

❓ Câu hỏi trắc nghiệm

Kết quả của truy vấn sau sẽ được sắp xếp như thế nào?

SELECT * FROM Employees
ORDER BY LastName DESC;

A) Theo họ nhân viên từ A → Z
B) Theo họ nhân viên từ Z → A
C) Theo EmployeeID tăng dần
D) Không sắp xếp gì cả

Đáp án: B

🐍 Ngày 31 - Python hằng ngày 365 ngày - Quản lý công việc với CSV

· 2 min read

🧠 Mục tiêu

Học cách đọc, ghi và cập nhật file CSV để lưu danh sách công việc (To-do List).


📂 File CSV mẫu

Task,Status
Chao co,Pending

🧪 Code Python hoàn chỉnh

import csv

FILENAME = "tasks.csv"

# Đọc dữ liệu từ file CSV
def read_tasks():
tasks = []
try:
with open(FILENAME, mode='r', newline='', encoding='utf-8') as file:
reader = csv.DictReader(file)
for row in reader:
tasks.append(row)
except FileNotFoundError:
print("⚠️ File chưa tồn tại. Tạo mới khi ghi.")
return tasks

# Ghi dữ liệu trở lại file CSV
def write_tasks(tasks):
with open(FILENAME, mode='w', newline='', encoding='utf-8') as file:
fieldnames = ['Task', 'Status']
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(tasks)

# Hiển thị danh sách công việc
def view_tasks(tasks):
print("\n📋 DANH SÁCH CÔNG VIỆC:")
for idx, task in enumerate(tasks, 1):
print(f"{idx}. {task['Task']} - {task['Status']}")

# Thêm công việc mới
def add_task(tasks):
task_name = input("📝 Nhập tên công việc: ")
tasks.append({"Task": task_name, "Status": "Pending"})
write_tasks(tasks)
print("✅ Đã thêm thành công!")

# Menu
def main():
while True:
print("\n===== MENU TO-DO LIST =====")
print("1. Xem danh sách")
print("2. Thêm công việc")
print("3. Thoát")
choice = input("👉 Nhập lựa chọn: ")

tasks = read_tasks()

if choice == '1':
view_tasks(tasks)
elif choice == '2':
add_task(tasks)
elif choice == '3':
print("👋 Tạm biệt!")
break
else:
print("⚠️ Lựa chọn không hợp lệ.")

if __name__ == "__main__":
main()

💾 Kết quả đầu ra

Giả sử bạn đã thêm 2 task mới:

Task,Status
Chao co,Pending
Hoc lap trinh,Pending
Di choi,Pending

🎯 Ngày 7 – SQL Server 365 ngày - ORDER BY – Sắp xếp kết quả truy vấn

· 2 min read

Chủ đề: ORDER BY – Sắp xếp kết quả truy vấn


✅ Mục tiêu học hôm nay

Học cách sử dụng ORDER BY để sắp xếp kết quả theo một hoặc nhiều cột, theo:

  • Tăng dần (ASC) – mặc định
  • Giảm dần (DESC)

📘 Câu lệnh mẫu

SELECT FirstName, LastName, HireDate
FROM Employees
ORDER BY HireDate ASC;

📝 Giải thích:

  • ORDER BY HireDate ASC sắp xếp theo thứ tự tăng dần ngày tuyển dụng.
  • ASC là mặc định, có thể bỏ qua.

🔄 Ví dụ nâng cao

SELECT FirstName, LastName, Salary
FROM Employees
ORDER BY Salary DESC, LastName ASC;

📝 Ý nghĩa:

  • Sắp xếp theo Salary giảm dần (cao → thấp)
  • Nếu trùng lương, sắp tiếp theo LastName tăng dần (A → Z)

🧪 Thực hành

Viết truy vấn SQL để:

  1. Sắp xếp theo FirstName tăng dần
  2. Sắp xếp theo Salary giảm dần
  3. Sắp xếp theo HireDate từ mới nhất đến cũ nhất

❓ Câu hỏi trắc nghiệm

Kết quả của truy vấn sau sẽ được sắp xếp như thế nào?

SELECT * FROM Employees
ORDER BY LastName DESC;

A) Theo họ nhân viên từ A → Z
B) Theo họ nhân viên từ Z → A
C) Theo EmployeeID tăng dần
D) Không sắp xếp gì cả

Đáp án: B

🐍 Ngày 30 - Python hằng ngày 365 ngày - Làm việc với File CSV trong Python

· 2 min read

📘 Python To-Do List App với CSV

📝 Mục tiêu

  • Quản lý danh sách công việc sử dụng Python và lưu trữ bằng file .csv
  • Cho phép người dùng xem, thêm và lưu công việc

📁 File CSV đầu vào (tasks.csv)

Task,Status
Post Fanpage,Done
Post Group,Pending

🔧 Mã nguồn Python đầy đủ

import csv
import os

CSV_FILE = "todo_tasks.csv"

def load_tasks():
tasks = []
if os.path.exists(CSV_FILE):
with open(CSV_FILE, newline='', encoding='utf-8') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
status = row["Status"].strip().lower()
tasks.append({
"Task": row["Task"],
"completed": status in ["done", "completed", "true"]
})
return tasks

def save_tasks(tasks):
with open(CSV_FILE, "w", newline='', encoding='utf-8') as csvfile:
fieldnames = ["Task", "Status"]
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for task in tasks:
status = "Done" if task["completed"] else "Pending"
writer.writerow({"Task": task["Task"], "Status": status})

def show_tasks(tasks):
print("\n📋 Danh sách công việc:")
for idx, task in enumerate(tasks, 1):
status = "✅" if task["completed"] else "⏳"
print(f"{idx}. {task['Task']} {status}")

def add_task(tasks):
new_task = input("🔹 Nhập tên công việc mới: ")
tasks.append({"Task": new_task, "completed": False})
print("✅ Đã thêm công việc mới.")

def main():
tasks = load_tasks()

while True:
print("\n----- MENU -----")
print("1. Xem danh sách công việc")
print("2. Thêm công việc mới")
print("3. Thoát")
choice = input("Chọn một tùy chọn: ")

if choice == "1":
show_tasks(tasks)
elif choice == "2":
add_task(tasks)
save_tasks(tasks)
elif choice == "3":
print("👋 Tạm biệt!")
break
else:
print("❌ Lựa chọn không hợp lệ. Vui lòng thử lại.")

if __name__ == "__main__":
main()

💡 Mở rộng đề xuất

  • Đánh dấu hoàn thành công việc
  • Xóa công việc
  • Sắp xếp danh sách theo trạng thái hoặc thời gian tạo

🐍 Ngày 29- Python hằng ngày 365 ngày - Lưu và Tải Dữ Liệu với JSON – Quản lý To-Do List với json

· 3 min read

Trong ngày này, chúc ta sẽ nâng cấp ứng dụng To-Do List để lưu công việc vào file data.jsontự động tải lại danh sách khi mở ứng dụng. Đây là bước đầu giúp chương trình có tính lưu trữ lâu dài.


🧠 Mục tiêu:

  • Biết sử dụng json để lưu và tải dữ liệu.
  • Tự động lưu danh sách sau mỗi thay đổi.
  • Tự động tải dữ liệu khi khởi động chương trình.

✍️ Code todo_day29.py

import json
import os

# --- CẤU TRÚC Dữ LIỆU ---
tasks = []

# --- FILE LƯU TRỨ ---
DATA_FILE = "data.json"

# --- TẢI Dữ LIỆU ---
def load_tasks():
global tasks
if os.path.exists(DATA_FILE):
with open(DATA_FILE, "r", encoding="utf-8") as f:
tasks = json.load(f)
else:
tasks = []

# --- LƯU Dữ LIỆU ---
def save_tasks():
with open(DATA_FILE, "w", encoding="utf-8") as f:
json.dump(tasks, f, indent=4, ensure_ascii=False)

# --- CÁC HÀM CHỨC NĂNG ---
def display_menu():
print("\n----- MENU TO-DO LIST -----")
print("1. Thêm công việc mới")
print("2. Xem danh sách công việc")
print("3. Đánh dấu hoàn thành")
print("4. Xóa công việc")
print("5. Thoát")
print("---------------------------")

def addTask(tasks_list):
task_name = input("Nhập tên công việc: ")
tasks_list.append({"name": task_name, "done": False})
save_tasks()
print("✅ Đã thêm công việc.")

def viewTasks(tasks_list):
if not tasks_list:
print("📬 Không có công việc nào.")
return
print("\n📋 DANH SÁCH CÔNG VIỆC:")
for i, task in enumerate(tasks_list, 1):
status = "✅" if task["done"] else "❌"
print(f"{i}. [{status}] {task['name']}")

def markComplete(tasks_list):
viewTasks(tasks_list)
try:
idx = int(input("Nhập số công việc đã hoàn thành: "))
tasks_list[idx - 1]["done"] = True
save_tasks()
print("🎉 Đã đánh dấu hoàn thành.")
except:
print("⚠️ Số không hợp lệ.")

def deleteTask(tasks_list):
viewTasks(tasks_list)
try:
idx_del = int(input("Nhập số công việc muốn xóa: "))
removed = tasks_list.pop(idx_del - 1)
save_tasks()
print(f"🗑️ Đã xóa: {removed['name']}")
except:
print("⚠️ Không hợp lệ.")

# --- CHẠY CHƯƠNG TRÌNH ---
def main():
load_tasks()
while True:
display_menu()
choice = input("Chọn (1-5): ")

if choice == '1':
addTask(tasks)
elif choice == '2':
viewTasks(tasks)
elif choice == '3':
markComplete(tasks)
elif choice == '4':
deleteTask(tasks)
elif choice == '5':
print("👋 Hẹn gặp lại!")
break
else:
print("❌ Lựa chọn không hợp lệ!")

if __name__ == "__main__":
main()

✅ Kết quả mong đợi

  • Bạn có thể thêm, xem, đánh dấu hoàn thành hoặc xóa công việc.
  • Khi thoát và mở lại chương trình, danh sách công việc vẫn được giữ nguyên nhờ file data.json.

💪 Thử thách:

  1. Hiển thị tổng số công việc và số đã hoàn thành.
  2. Thêm ngày tạo cho mỗi công việc.
  3. Tạo file backup_data.json trước khi thóat.

Chúc bạn quản lý công việc ngày một tốt hơn! 🌟

🧠 Ngày 28 – Python Hằng ngày 365 ngày - Hoàn thiện To-Do List App (Phần 2)

· 2 min read

✨ Mục tiêu

  • Hoàn thiện các chức năng trong app:
    • Thêm công việc mới
    • Xem danh sách công việc
    • Đánh dấu đã hoàn thành
    • Xóa công việc

1. addTask(tasks_list) - Thêm công việc mới

def addTask(tasks_list):
print("\n>> Nhập công việc mới:")
title = input("Tên công việc: ")
task = {
"title": title,
"completed": False
}
tasks_list.append(task)
print("✅ Đã thêm công việc.")

2. viewTasks(tasks_list) - Xem danh sách công việc

def viewTasks(tasks_list):
if not tasks_list:
print("📭 Danh sách công việc trống.")
return

print("\n📋 Danh sách công việc:")
for idx, task in enumerate(tasks_list, start=1):
status = "✅" if task["completed"] else "⏳"
print(f"{idx}. {task['title']} [{status}]")

3. markComplete(tasks_list) - Đánh dấu hoàn thành

def markComplete(tasks_list):
if not tasks_list:
print("❌ Không có công việc nào.")
return

viewTasks(tasks_list)
try:
idx = int(input("Nhập số thứ tự công việc cần đánh dấu hoàn thành: "))
if 1 <= idx <= len(tasks_list):
tasks_list[idx-1]["completed"] = True
print("✅ Công việc đã được đánh dấu hoàn thành.")
else:
print("❌ Số không hợp lệ.")
except ValueError:
print("⚠️ Vui lòng nhập một số.")

4. deleteTask(tasks_list) - Xóa công việc

def deleteTask(tasks_list):
if not tasks_list:
print("📭 Không có gì để xóa.")
return

viewTasks(tasks_list)
try:
idx = int(input("Nhập số thứ tự công việc cần xóa: "))
if 1 <= idx <= len(tasks_list):
removed = tasks_list.pop(idx-1)
print(f"🗑️ Đã xóa công việc: {removed['title']}")
else:
print("❌ Số không hợp lệ.")
except ValueError:
print("⚠️ Vui lòng nhập một số.")

📖 Gợi ý tiếp theo

  • Ngày 29: Lưu trữ danh sách công việc vào file .json
  • Ngày 30: Đọa luồng menu bằng các module hoặc giao diện

✨ Bạn đã hoàn thành một app console Python có tính tương tác cơ bản! Hãy lưu lại và chia sẻ với bạn bè nếu bạn tự hào nhé! ✨

Ngày 27 – Python hằng ngày: Ứng dụng To-Do List bằng Python (hoàn thiện chức năng cơ bản)

· 3 min read

🎯 Mục tiêu

  • Tạo một ứng dụng quản lý công việc đơn giản với giao diện dòng lệnh.
  • Cho phép người dùng thêm, xem, đánh dấu hoàn thành và xóa công việc.

📚 Kiến thức sử dụng

  • List và Dictionary trong Python
  • Hàm và tham số
  • Vòng lặp while, if, elif, else
  • Xử lý input từ người dùng

🧱 Cấu trúc dữ liệu

tasks = [
{
"title": "Học Python",
"completed": False
}
]

🛠 Mã nguồn đầy đủ

tasks = []

def display_menu():
print("\n----- MENU TO-DO LIST -----")
print("1. Thêm công việc mới")
print("2. Xem danh sách công việc")
print("3. Đánh dấu công việc đã hoàn thành")
print("4. Xóa công việc")
print("5. Thoát chương trình")
print("---------------------------")

def addTask(tasks_list):
print("\n>> Thêm công việc mới <<")
title = input("Nhập tên công việc: ").strip()
if title:
task = {"title": title, "completed": False}
tasks_list.append(task)
print("✅ Đã thêm công việc!")
else:
print("❌ Tên công việc không được để trống.")

def viewTasks(tasks_list):
print("\n>> Danh sách công việc <<")
if not tasks_list:
print("Danh sách trống.")
else:
for i, task in enumerate(tasks_list, 1):
status = "✅" if task["completed"] else "❌"
print(f"{i}. {task['title']} [{status}]")

def markComplete(tasks_list):
print("\n>> Đánh dấu hoàn thành <<")
if not tasks_list:
print("Danh sách trống.")
return
viewTasks(tasks_list)
try:
index = int(input("Nhập số thứ tự công việc đã hoàn thành: "))
if 1 <= index <= len(tasks_list):
tasks_list[index - 1]["completed"] = True
print("🎉 Đã đánh dấu hoàn thành.")
else:
print("❌ Số thứ tự không hợp lệ.")
except ValueError:
print("❌ Vui lòng nhập một số.")

def deleteTask(tasks_list):
print("\n>> Xóa công việc <<")
if not tasks_list:
print("Danh sách trống.")
return
viewTasks(tasks_list)
try:
index = int(input("Nhập số thứ tự công việc muốn xóa: "))
if 1 <= index <= len(tasks_list):
deleted = tasks_list.pop(index - 1)
print(f"🗑️ Đã xóa công việc: {deleted['title']}")
else:
print("❌ Số thứ tự không hợp lệ.")
except ValueError:
print("❌ Vui lòng nhập một số.")

def main():
while True:
display_menu()
choice = input("Nhập lựa chọn của bạn (1-5): ").strip()

if choice == '1':
addTask(tasks)
elif choice == '2':
viewTasks(tasks)
elif choice == '3':
markComplete(tasks)
elif choice == '4':
deleteTask(tasks)
elif choice == '5':
print("👋 Cảm ơn bạn đã sử dụng chương trình. Tạm biệt!")
break
else:
print("❌ Lựa chọn không hợp lệ. Nhập số từ 1 đến 5.")

if __name__ == "__main__":
main()

🎥 Xem Video Hướng Dẫn

💡 Mẹo nâng cao (gợi ý cho ngày sau):

Lưu danh sách công việc vào file .json để sử dụng lại sau khi thoát.

Thêm thời gian tạo và deadline cho công việc (sử dụng datetime).

Sắp xếp danh sách theo deadline hoặc trạng thái.

✍️ Thực hành: Chạy chương trình, thêm 2–3 công việc, đánh dấu hoàn thành và xóa thử 1 công việc.

📝 Ngày 6: Sử dụng các toán tử logic (AND, OR, NOT) trong SQL Server

· 4 min read

🎯 Mục tiêu buổi học:

  • Hiểu cách sử dụng các toán tử logic trong điều kiện WHERE.
  • Kết hợp nhiều điều kiện với AND, OR, NOT.
  • Tránh những lỗi phổ biến khi dùng toán tử logic.

1️⃣ Giới thiệu toán tử logic

Khi viết truy vấn SQL, chúng ta thường cần lọc dữ liệu theo nhiều điều kiện. SQL Server cung cấp 3 toán tử logic quan trọng:

Toán tửÝ nghĩaVí dụ
ANDChỉ chọn các dòng thỏa mãn tất cả điều kiệnChọn nhân viên có lương > 5000 chức vụ là "Manager"
ORChọn các dòng thỏa mãn ít nhất một điều kiệnChọn nhân viên có lương > 5000 hoặc có chức vụ là "Manager"
NOTLọc bỏ những dòng thỏa mãn điều kiệnChọn tất cả nhân viên ngoại trừ những người có chức vụ là "Intern"

2️⃣ Ví dụ minh họa

🔹 Sử dụng AND

Giả sử bạn có bảng Employees với các cột EmployeeID, FirstName, Salary, JobTitle.
Bạn muốn tìm những nhân viên có lương trên 5000 và giữ chức vụ Manager:

SELECT * FROM Employees
WHERE Salary > 5000 AND JobTitle = 'Manager';

📌 Giải thích: Câu lệnh trên chỉ trả về các nhân viên có cả hai điều kiện đúng.

🔹 Sử dụng OR

Bây giờ, bạn muốn tìm những nhân viên có lương trên 5000 hoặc giữ chức vụ Manager:

SELECT * FROM Employees
WHERE Salary > 5000 OR JobTitle = 'Manager';

📌 Giải thích: Chỉ cần một trong hai điều kiện đúng là bản ghi sẽ được chọn.

🔹 Sử dụng NOT

Giả sử bạn muốn tìm tất cả nhân viên ngoại trừ những người có chức vụ "Intern":

SELECT * FROM Employees
WHERE NOT JobTitle = 'Intern';

📌 Giải thích: SQL Server sẽ lọc tất cả các bản ghi ngoại trừ những người có JobTitle là "Intern".

🔹 Kết hợp AND, OR, NOT Bạn có thể kết hợp nhiều toán tử logic trong cùng một câu truy vấn. Ví dụ: Tìm những nhân viên có lương trên 5000 hoặc là Manager, nhưng không phải là Intern:

SELECT * FROM Employees
WHERE (Salary > 5000 OR JobTitle = 'Manager') AND NOT JobTitle = 'Intern';

📌 Lưu ý: Dùng dấu ngoặc tròn ()` để kiểm soát thứ tự ưu tiên của điều kiện.

3️⃣ Những lỗi thường gặp khi sử dụng toán tử logic

Quên dấu ngoặc làm thay đổi thứ tự ưu tiên

SELECT * FROM Employees
WHERE Salary > 5000 OR JobTitle = 'Manager' AND NOT JobTitle = 'Intern';

📌 Sai: SQL sẽ ưu tiên thực hiện AND trước OR, có thể gây sai kết quả.

✅ Sửa đúng: Dùng dấu ngoặc để đảm bảo điều kiện chạy đúng.

4️⃣ Bài tập thực hành

Tìm nhân viên có lương trên 7000 và làm ở bộ phận "IT".

Tìm nhân viên có chức vụ là "Sales" hoặc có lương trên 6000.

Tìm tất cả nhân viên ngoại trừ những người có chức vụ "HR".

💡 Gợi ý đáp án:

-- Bài 1
SELECT * FROM Employees
WHERE Salary > 7000 AND Department = 'IT';

-- Bài 2
SELECT * FROM Employees
WHERE JobTitle = 'Sales' OR Salary > 6000;

-- Bài 3
SELECT * FROM Employees
WHERE NOT JobTitle = 'HR';

🚀 Chúc bạn học tốt! Ngày mai, chúng ta sẽ học cách sắp xếp dữ liệu với ORDER BY. Hẹn gặp lại ở Ngày 7 nhé! 🎯

Điều Khiển Luồng (Flow Control) trong Python

· 3 min read

Điều khiển luồng là một khái niệm quan trọng trong lập trình, cho phép bạn kiểm soát cách mà chương trình thực thi các lệnh. Trong Python, bạn có thể sử dụng các câu lệnh điều kiện và vòng lặp để điều khiển luồng của chương trình.

1. Câu Lệnh Điều Kiện

Câu lệnh điều kiện cho phép bạn kiểm tra các điều kiện và thực hiện các đoạn mã khác nhau dựa trên kết quả của các điều kiện đó.

Cú Pháp:

if điều_kiện:
# Thực hiện nếu điều kiện đúng
elif điều_kiện_khác:
# Thực hiện nếu điều kiện khác đúng
else:
# Thực hiện nếu tất cả các điều kiện trước đều sai

Ví dụ:

tuoi = 18
if tuoi < 18:
print("Bạn chưa đủ tuổi.")
elif tuoi == 18:
print("Chúc mừng bạn đã đủ tuổi!")
else:
print("Bạn đã trưởng thành.")

2. Vòng Lặp

Vòng lặp cho phép bạn thực hiện một đoạn mã nhiều lần. Python hỗ trợ hai loại vòng lặp chính: forwhile.

  • Vòng Lặp for: Dùng để lặp qua một chuỗi hoặc danh sách.

    Cú Pháp:

    for biến in danh_sách:
    # Thực hiện

    Ví dụ:

    danh_sach = [1, 2, 3, 4, 5]
    for so in danh_sach:
    print(so)
  • Vòng Lặp while: Tiếp tục thực hiện đoạn mã cho đến khi điều kiện trở thành sai.

    Cú Pháp:

    while điều_kiện:
    # Thực hiện

    Ví dụ:

    dem = 0
    while dem < 5:
    print(dem)
    dem += 1

3. Câu Lệnh breakcontinue

  • break: Ngừng vòng lặp ngay lập tức.

    Ví dụ:

    for so in range(10):
    if so == 5:
    break
    print(so)
  • continue: Bỏ qua phần còn lại của vòng lặp và tiếp tục với lần lặp tiếp theo.

    Ví dụ:

    for so in range(10):
    if so % 2 == 0:
    continue
    print(so)

Bài Tập Hướng Dẫn

Bài Tập 1: Câu Lệnh Điều Kiện

Viết một chương trình kiểm tra xem một số có phải là số chẵn hay không.

# Nhập số từ người dùng
so = int(input("Nhập một số: "))

# Kiểm tra và in ra kết quả
if so % 2 == 0:
print(f"{so} là số chẵn.")
else:
print(f"{so} là số lẻ.")

Bài Tập 2: Vòng Lặp

Viết một chương trình in ra các số từ 1 đến 10 và thông báo nếu số đó là số chẵn hay lẻ.

for so in range(1, 11):
if so % 2 == 0:
print(f"{so} là số chẵn.")
else:
print(f"{so} là số lẻ.")

Kết Luận

Điều khiển luồng là một phần thiết yếu trong lập trình, giúp bạn tạo ra các chương trình phức tạp và tương tác hơn. Nếu bạn cần thêm thông tin hoặc có câu hỏi cụ thể nào, hãy cho tôi biết!