Markov Chains and the Explore-Exploit Trade-off in Python

Xem, chạy và thử chỉnh sửa Markov Chains and the Explore-Exploit Trade-off in Python trong IDE Python trực tuyến của CodeUtility.

Thư viện cài đặt sẵn
🚀 4,280,856 tổng số lượt thực thi (1,256 trong tháng này)
Kết quả

Luyện Python với thử thách lập trình

Giải các bài tập thực tế ngay trên trình soạn thảo này: chạy kiểm thử mẫu, nộp bài và nhận đánh giá code từ AI.

Tất cả thử thách Python
Dễ

Trung Bình Của Ba Số

Tính trung bình cộng của ba số nguyên.

Bạn sẽ học Số họcPhép chia
BeginnerLearning-pathVariables
Dễ

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

Bạn sẽ học Số họcGiá trị trả về
BeginnerLearning-pathVariables
Dễ

Ghép khách hàng và đơn hàng

Ghép khách hàng với đơn hàng giống LINQ Join và báo tổng chi tiêu của từng khách.

Bạn sẽ học LINQ JoinGom nhóm
ArraysSorting
Chưa có lời giải
Dễ

Danh sách việc cần làm

Quản lý danh sách công việc: thêm, đánh dấu xong, xóa và báo những việc còn lại.

Bạn sẽ học Collection có kiểuRecord
BeginnerSimulationStrings
Chưa có lời giải
Dễ

Thao tác với danh sách liên kết

Mô phỏng danh sách liên kết: thêm vào hai đầu, xóa ở đầu hoặc theo giá trị, và đảo ngược.

Bạn sẽ học Danh sách liên kếtMô phỏng
Data-structuresSimulation
Chưa có lời giải
Dễ

Cộng các số trong đối tượng JSON phẳng

Phân tích một đối tượng JSON phẳng có các giá trị là số nguyên và cộng các giá trị đó lại.

Bạn sẽ học Phân tích JSONTách chuỗi
ParsingStrings
Chưa có lời giải
Dễ

Tổng thời gian với WhenAll

Tìm chương trình mất bao lâu khi mỗi nhóm tác vụ chạy cùng nhau bằng Task.WhenAll và các nhóm chạy lần lượt.

Bạn sẽ học Async/awaitTask.WhenAll
ArraysBeginner
Chưa có lời giải
Trung bình

Thứ tự hoàn thành tác vụ song song

Chạy các task đồng thời với tối đa k task cùng lúc và báo cáo thứ tự chúng hoàn thành.

Bạn sẽ học Đồng thờiHàng đợi ưu tiên
SimulationSorting
Chưa có lời giải
Trung bình

Ngăn xếp với giá trị nhỏ nhất

Xây dựng một stack có thể báo cáo phần tử nhỏ nhất của nó ngay lập tức sau bất kỳ lần push hoặc pop nào.

Bạn sẽ học Ngăn xếpGiá trị nhỏ nhất
Data-structuresStacks
Chưa có lời giải
Dễ

Bản ghi không trùng lặp

Xóa các bản ghi trùng nhau theo giá trị, giữ lại bản ghi đầu tiên của mỗi giá trị theo đúng thứ tự.

Bạn sẽ học RecordSo sánh theo giá trị
BeginnerStrings
Chưa có lời giải
Dễ

Sắp xếp theo khóa được chọn

Sắp xếp mọi người theo tên hoặc theo tuổi bằng một comparer được chọn khi chạy, đồng thời phá vỡ các trường hợp bằng nhau một cách nhất quán.

Bạn sẽ học ComparerSắp xếp
ArraysSorting
Chưa có lời giải
Trung bình

Bảng lương hàng tuần

Tính tổng lương một tuần cho nhân viên lương cố định, theo giờ và hoa hồng, mỗi loại theo quy tắc riêng.

Bạn sẽ học Đa hìnhTính giờ làm thêm
ParsingSimulationmath
Chưa có lời giải

🐍 Về Trình Thực Thi Python Trực Tuyến này

CodeUtility Python Executor cho phép bạn viết, chạy và kiểm thử mã Python trực tiếp trên trình duyệt - không cần cài đặt hay thiết lập gì. Công cụ được vận hành trong một sandbox an toàn, hỗ trợ các phiên bản Python thật từ 3.10 đến 3.13.

Dù bạn đang học Python lần đầu, thử các đoạn mã ngắn, hay gỡ lỗi logic, công cụ này mang đến một môi trường code nhanh, không bị xao nhãng. Bạn có thể thoải mái thử nghiệm và xem kết quả ngay trong console tích hợp.

Rất phù hợp cho người mới bắt đầu, sinh viên và lập trình viên cần một IDE trực tuyến gọn nhẹ để luyện tập Python hoặc dựng prototype nhanh.

Không chỉ là công cụ chạy mã

Sử dụng trình soạn thảo nhiều tệp, terminal thực thi biệt lập, thư viện riêng theo môi trường chạy, không gian làm việc lâu dài, tính năng chia sẻ và cộng tác theo thời gian thực ngay trong cùng một trình thực thi.

Cách sử dụng trình thực thi này?

Chọn môi trường chạy, mở hoặc tạo tệp, viết mã rồi nhấn Chạy. Kết quả xuất hiện trong terminal; người dùng đã đăng nhập có thể lưu tệp trong không gian làm việc, cài thư viện và cộng tác qua liên kết chia sẻ.

  1. Chọn phiên bản rồi chỉnh sửa tệp hiện tại hoặc mở một tệp khác trong không gian làm việc.
  2. Chạy mã, nhập dữ liệu trong terminal khi được yêu cầu và xem lại lịch sử chạy đã lưu.
  3. Sử dụng thư viện, công cụ không gian làm việc, chia sẻ và trò chuyện khi tác vụ cần nhiều hơn một đoạn mã.

💡 Kiến thức cơ bản về Python & Ví dụ bạn có thể thử ở trên

1. Khai báo Biến và Hằng số

Python là ngôn ngữ kiểu động, nên bạn không cần khai báo kiểu tường minh. Không có từ khóa hằng số tích hợp, nhưng theo quy ước, hằng số được viết IN HOA.

# Biến
x = 10
pi = 3.14
name = "Alice"
is_active = True

# Hằng số (theo quy ước)
MAX_USERS = 100
APP_NAME = "CodeUtility"

# Hằng số vẫn có thể gán lại (không bị cưỡng chế)
MAX_USERS = 200  # ⚠️ Về mặt kỹ thuật thì được phép, nhưng không khuyến khích

2. Câu điều kiện

Điều khiển luồng với các khối if, elif, và else. Trong Python 3.10+, bạn cũng có thể dùng match-case như một lựa chọn thay thế cho switch-case.

# Cấu trúc if-elif-else truyền thống
x = 2
if x == 1:
    print("Một")
elif x == 2:
    print("Hai")
else:
    print("Khác")

Cách khác: match-case (Python 3.10+)

# Cần Python 3.10+
x = 2
match x:
    case 1:
        print("Một")
    case 2:
        print("Hai")
    case _:
        print("Khác")

3. Vòng lặp

for dùng để lặp qua các chuỗi/collection, while chạy miễn là điều kiện đúng.

for i in range(3):
    print(i)

count = 3
while count > 0:
    print(count)
    count -= 1

4. Danh sách

List là tập hợp có thứ tự và có thể thay đổi. Bạn có thể truy cập phần tử theo chỉ số.

fruits = ["apple", "banana"]
print(fruits[0])
print(len(fruits))

5. Thao tác với List

Thêm, xóa, cắt (slice), và đảo list. List comprehension cho phép duyệt gọn hơn.

fruits.append("cherry")
fruits.insert(1, "kiwi")
fruits.remove("banana")
fruits.pop()

print(fruits[1:3])
print(fruits[::-1])

squares = [x*x for x in range(5)]

6. Nhập/Xuất Console

Dùng input() để đọc từ người dùng và print() để hiển thị kết quả.

Bạn có thể in nhiều dòng bằng \n (ký tự xuống dòng) hoặc gọi print() nhiều lần.

# Đọc input
name = input("Nhập tên của bạn: ")
print("Xin chào", name)

# In nhiều dòng
print("Dòng 1\nDòng 2\nDòng 3")

# Hoặc dùng nhiều lệnh print
print("Dòng A")
print("Dòng B")
print("Dòng C")

7. Hàm

Hàm giúp tổ chức mã và tái sử dụng. Dùng tham số và giá trị trả về.

def greet(name):
    return "Xin chào " + name

print(greet("Alice"))

8. Từ điển (Dictionary)

Lưu trữ các cặp khóa-giá trị. Khóa là duy nhất và giá trị được truy cập qua khóa.

person = {"name": "Bob", "age": 25}
print(person["name"])
print(person.get("email", "Không được cung cấp"))

9. Xử lý ngoại lệ

Dùng try và except để bắt và xử lý lỗi một cách nhẹ nhàng.

try:
    x = 1 / 0
except ZeroDivisionError:
    print("Không thể chia cho 0")

10. Đọc/Ghi tệp

Đọc và ghi tệp bằng open().

with open("data.txt", "w") as f:
    f.write("Xin chào Thế giới")

with open("data.txt", "r") as f:
    print(f.read())

11. Xử lý chuỗi

Chuỗi trong Python có nhiều phương thức mạnh như strip(), replace() và split().

text = "  Xin chào Thế giới  "
print(text.strip())
print(text.upper())
print(text.replace("Xin chào", "Chào"))
print(text.split())

12. Lớp & Đối tượng

Định nghĩa các bản thiết kế tái sử dụng bằng class. Dùng __init__ để khởi tạo đối tượng.

class Person:
    def __init__(self, name):
        self.name = name

    def greet(self):
        return "Xin chào, tôi là " + self.name

p = Person("Alice")
print(p.greet())

🐞 Cách gỡ lỗi code Python online

Dùng trình gỡ lỗi Python online để tìm lỗi logic mà không cần cài Python hoặc IDE. Debugger chạy bằng Python 3.10-3.13 thực trong Server mode.

  1. Chọn một phiên bản Python chạy trên server.
  2. Nhấp cạnh số dòng để đặt một hoặc nhiều breakpoint.
  3. Chọn Debug để chạy chương trình và dừng tại breakpoint đầu tiên phù hợp.
  4. Kiểm tra dòng hiện tại và các biến, sau đó dùng Continue, Step Over, Step Into hoặc Step Out.
  5. Chọn Stop để kết thúc phiên debug.

Hãy bắt đầu với ví dụ nhỏ có thể tái hiện lỗi và đặt breakpoint ngay trước khi giá trị trở nên không đúng. Server mode cũng hỗ trợ file trong workspace và thư viện đã cài.