คอมไพเลอร์และดีบักเกอร์ Python ออนไลน์

เขียน รัน และดีบัก Python ออนไลน์ ใช้ breakpoint และการทำงานทีละขั้นในโหมดเซิร์ฟเวอร์ได้โดยไม่ต้องติดตั้ง

🚀 4,279,640 การดำเนินการทั้งหมด (40 ในเดือนนี้)
ผลลัพธ์

ฝึก Python ด้วยโจทย์เขียนโค้ด

แก้โจทย์จริงใน editor นี้: รันทดสอบตัวอย่าง ส่งคำตอบ และรับรีวิวโค้ดจาก AI

โจทย์ Python ทั้งหมด
ง่าย

Average of Three

Average three whole numbers.

คุณจะได้เรียนรู้ เลขคณิตการหาร
BeginnerLearning-pathVariables
ง่าย

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

คุณจะได้เรียนรู้ เลขคณิตค่าที่คืนกลับ
BeginnerLearning-pathVariables
ปานกลาง

หนึ่งรุ่นของอัลกอริทึมเชิงพันธุกรรม

สร้างสตริงบิตรุ่นถัดไปด้วยการคัดเลือกแบบทัวร์นาเมนต์ การไขว้จุดเดียว และการกลายพันธุ์

คุณจะได้เรียนรู้ อัลกอริทึมเชิงพันธุกรรมการค้นหาเชิงวิวัฒนาการ
OptimizationSimulationai
ยังไม่มีวิธีแก้
ง่าย

Multi-armed bandit แบบ epsilon-greedy

สร้างสมดุลระหว่างการสำรวจและการใช้ประโยชน์ใน multi-armed bandit ด้วยการเลือกการกระทำแบบ epsilon-greedy

คุณจะได้เรียนรู้ สำรวจหรือใช้ประโยชน์Bandit
การเรียนรู้แบบเสริมกำลังaiการเรียนรู้ของเครื่อง
ยังไม่มีวิธีแก้
ง่าย

การแจกแจงสถานะของห่วงโซ่มาร์คอฟ

ส่งการแจกแจงความน่าจะเป็นผ่านเมทริกซ์การเปลี่ยนสถานะของห่วงโซ่มาร์คอฟตามจำนวนก้าวที่กำหนด

คุณจะได้เรียนรู้ ห่วงโซ่มาร์คอฟความน่าจะเป็น
Simulationaimath
ยังไม่มีวิธีแก้
ปานกลาง

Value iteration

คำนวณว่าแต่ละสถานะของกระบวนการตัดสินใจแบบมาร์คอฟมีค่าแค่ไหน โดยใช้การอัปเดตความเหมาะสมที่สุดของเบลล์แมนซ้ำ ๆ

คุณจะได้เรียนรู้ สมการเบลล์แมนMDP
การเรียนรู้แบบเสริมกำลังaiการเรียนรู้ของเครื่อง
ยังไม่มีวิธีแก้
ปานกลาง

การอัปเดต Q-learning

ใช้การอัปเดต Q-learning กับลำดับประสบการณ์ และดูรางวัลไหลย้อนกลับไปยังสถานะก่อนหน้า

คุณจะได้เรียนรู้ Q-learningรางวัลแบบมีส่วนลด
การเรียนรู้แบบเสริมกำลังaiการเรียนรู้ของเครื่อง
ยังไม่มีวิธีแก้
ปานกลาง

การตัดกิ่งแบบ Alpha-Beta

ประเมินต้นไม้เกมด้วย minimax และการตัดกิ่งแบบ alpha-beta แล้วนับว่าการค้นหาดูใบไม้จริง ๆ กี่ใบ

คุณจะได้เรียนรู้ การตัดกิ่ง alpha-betaการค้นหาในเกม
RecursionTreesai
ยังไม่มีวิธีแก้
ปานกลาง

เกม OX ด้วย Minimax

เลือกตาเดินที่สมบูรณ์แบบในเกม OX โดยค้นหาต้นไม้เกมทั้งหมดด้วย minimax

คุณจะได้เรียนรู้ Minimaxต้นไม้เกม
Recursionai
ยังไม่มีวิธีแก้
ปานกลาง

การค้นหา A* บนตารางที่มีน้ำหนัก

หาเส้นทางที่ถูกที่สุดผ่านตารางค่าใช้จ่ายของภูมิประเทศด้วย A* อัลกอริทึมค้นหาที่อยู่เบื้องหลังการหาเส้นทางในเกมและหุ่นยนต์

คุณจะได้เรียนรู้ การค้นหา A*ฮิวริสติก
GraphsGridsShortest-pathai
ยังไม่มีวิธีแก้
ปานกลาง

การสุ่มด้วย temperature และ top-k

เลือก token ถัดไปแบบโมเดลภาษา: เก็บ logit สูงสุด k ตัว ใช้ temperature แล้วสุ่ม

คุณจะได้เรียนรู้ การสร้างข้อความการสุ่มตัวอย่าง
aiการเรียนรู้ของเครื่อง
ยังไม่มีวิธีแก้
ปานกลาง

Layer normalization

ปรับแต่ละแถวให้มีค่าเฉลี่ย 0 และความแปรปรวน 1 จากนั้นปรับสเกลและเลื่อน แบบเดียวกับที่ทุกบล็อก Transformer ทำ

คุณจะได้เรียนรู้ Layer normTransformer
โครงข่ายประสาทเทียมaiการเรียนรู้ของเครื่อง
ยังไม่มีวิธีแก้

🐍 เกี่ยวกับตัวรัน Python ออนไลน์นี้

CodeUtility Python Executor ให้คุณเขียน รัน และทดสอบโค้ด Python ได้โดยตรงบนเบราว์เซอร์ของคุณ - ไม่ต้องตั้งค่าหรือทำการติดตั้งใด ๆ ใช้งานบนแซนด์บ็อกซ์ที่ปลอดภัยซึ่งรองรับเวอร์ชัน Python จริง ตั้งแต่ 3.10 ถึง 3.13

ไม่ว่าคุณจะเรียนรู้ Python เป็นครั้งแรก ทดสอบโค้ดสั้น ๆ หรือดีบั๊กลอจิก เครื่องมือนี้มอบสภาพแวดล้อมการเขียนโค้ดที่รวดเร็วและไร้สิ่งรบกวน คุณสามารถทดลองได้อย่างอิสระและเห็นผลลัพธ์ทันทีในคอนโซลที่มีมาให้

เหมาะกับผู้เริ่มต้น นักศึกษา และนักพัฒนาที่ต้องการ IDE ออนไลน์แบบเบา ๆ สำหรับฝึก Python หรือสร้างโปรโตไทป์อย่างรวดเร็ว

มากกว่าเครื่องมือรันโค้ด

ใช้ตัวแก้ไขหลายไฟล์ เทอร์มินัลประมวลผลแบบแยกส่วน ไลบรารีเฉพาะรันไทม์ พื้นที่ทำงานถาวร การแชร์ และการทำงานร่วมกันแบบเรียลไทม์ได้จากตัวประมวลผลเดียวกัน

วิธีใช้ตัวประมวลผลนี้

เลือกรันไทม์ เปิดหรือสร้างไฟล์ เขียนโค้ด แล้วเลือกเรียกใช้ ผลลัพธ์จะแสดงในเทอร์มินัล ส่วนผู้ใช้ที่ลงชื่อเข้าใช้สามารถเก็บไฟล์ในพื้นที่ทำงาน ติดตั้งไลบรารี และทำงานร่วมกันผ่านการแชร์ได้

  1. เลือกเวอร์ชันแล้วแก้ไขไฟล์ปัจจุบัน หรือเปิดไฟล์อื่นในพื้นที่ทำงาน
  2. เรียกใช้โค้ด ป้อนข้อมูลในเทอร์มินัลเมื่อระบบร้องขอ และตรวจสอบประวัติการเรียกใช้ที่บันทึกไว้
  3. ใช้ไลบรารี เครื่องมือพื้นที่ทำงาน การแชร์ และแชท เมื่องานของคุณต้องใช้โค้ดมากกว่าหนึ่งส่วน

💡 พื้นฐาน Python และตัวอย่างที่คุณลองได้ด้านบน

1. การประกาศตัวแปรและค่าคงที่

Python เป็นภาษาที่กำหนดชนิดแบบไดนามิก จึงไม่ต้องประกาศชนิดข้อมูลล่วงหน้า ไม่มีคีย์เวิร์ดสำหรับค่าคงที่โดยตรง แต่ตามธรรมเนียมจะเขียนค่าคงที่ด้วยตัวพิมพ์ใหญ่ทั้งหมด

# ตัวแปร
x = 10
pi = 3.14
name = "Alice"
is_active = True

# ค่าคงที่ (ตามธรรมเนียม)
MAX_USERS = 100
APP_NAME = "CodeUtility"

# ค่าคงที่ยังสามารถถูกกำหนดค่าใหม่ได้ (ไม่ได้บังคับ)
MAX_USERS = 200  # ⚠️ ทำได้ในทางเทคนิค แต่ไม่แนะนำ

2. เงื่อนไข

ควบคุมลอจิกด้วยบล็อก if, elif, และ else ใน Python 3.10+ คุณยังสามารถใช้ match-case เป็นทางเลือกแทน switch-case ได้

# รูปแบบดั้งเดิม if-elif-else
x = 2
if x == 1:
    print("หนึ่ง")
elif x == 2:
    print("สอง")
else:
    print("อื่น ๆ")

ทางเลือก: match-case (Python 3.10+)

# ต้องใช้ Python 3.10+
x = 2
match x:
    case 1:
        print("หนึ่ง")
    case 2:
        print("สอง")
    case _:
        print("อื่น ๆ")

3. ลูป

for ใช้สำหรับวนผ่านลำดับข้อมูล ส่วน while จะทำงานตราบใดที่เงื่อนไขเป็นจริง

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

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

4. ลิสต์

ลิสต์เป็นคอลเลกชันที่มีลำดับและแก้ไขได้ คุณสามารถเข้าถึงสมาชิกด้วยดัชนี

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

5. การจัดการลิสต์

เพิ่ม ลบ สไลซ์ และกลับลิสต์ได้ List comprehension ช่วยให้เขียนการวนซ้ำได้อย่างกระชับ

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. อินพุต/เอาต์พุตคอนโซล

ใช้ input() เพื่อรับค่าจากผู้ใช้ และ print() เพื่อแสดงผลลัพธ์

คุณสามารถพิมพ์หลายบรรทัดได้โดยใช้ \n (ตัวอักขรขึ้นบรรทัดใหม่) หรือเรียก print() หลายครั้ง

# รับอินพุต
name = input("กรอกชื่อของคุณ: ")
print("สวัสดี", name)

# พิมพ์หลายบรรทัด
print("บรรทัด 1\nบรรทัด 2\nบรรทัด 3")

# หรือใช้ print หลายครั้ง
print("บรรทัด A")
print("บรรทัด B")
print("บรรทัด C")

7. ฟังก์ชัน

ฟังก์ชันช่วยจัดระเบียบโค้ดและนำกลับมาใช้ซ้ำได้ ใช้พารามิเตอร์และค่าที่ส่งกลับ

def greet(name):
    return "สวัสดี " + name

print(greet("Alice"))

8. ดิกชันนารี

เก็บข้อมูลแบบคู่คีย์-ค่า คีย์จะไม่ซ้ำกัน และสามารถเข้าถึงค่าได้ผ่านคีย์

person = {"name": "Bob", "age": 25}
print(person["name"])
print(person.get("email", "ไม่ได้ระบุ"))

9. การจัดการข้อยกเว้น

ใช้ try และ except เพื่อดักและจัดการข้อผิดพลาดอย่างเหมาะสม

try:
    x = 1 / 0
except ZeroDivisionError:
    print("ไม่สามารถหารด้วยศูนย์ได้")

10. การทำงานกับไฟล์ (File I/O)

อ่านและเขียนไฟล์ด้วย open()

with open("data.txt", "w") as f:
    f.write("สวัสดีโลก")

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

11. การจัดการสตริง

สตริงของ Python มีเมธอดที่ทรงพลัง เช่น strip(), replace(), และ split()

text = "  สวัสดี โลก  "
print(text.strip())
print(text.upper())
print(text.replace("สวัสดี", "ไฮ"))
print(text.split())

12. คลาสและอ็อบเจ็กต์

กำหนดพิมพ์เขียวที่นำกลับมาใช้ซ้ำได้ด้วยคลาส ใช้ __init__ เพื่อเริ่มต้นอ็อบเจ็กต์

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

    def greet(self):
        return "สวัสดี ฉันชื่อ " + self.name

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

🐞 วิธีดีบักโค้ด Python ออนไลน์

ใช้ดีบักเกอร์ Python ออนไลน์เพื่อค้นหาข้อผิดพลาดทางตรรกะโดยไม่ต้องติดตั้ง Python หรือ IDE การดีบักทำงานด้วย Python 3.10–3.13 ในโหมดเซิร์ฟเวอร์

  1. เลือกเวอร์ชัน Python ที่ทำงานบนเซิร์ฟเวอร์
  2. คลิกข้างหมายเลขบรรทัดเพื่อตั้ง breakpoint
  3. เลือก Debug เพื่อเริ่มโปรแกรมและหยุดที่ breakpoint แรก
  4. ตรวจสอบบรรทัดและตัวแปร แล้วใช้ Continue, Step Over, Step Into หรือ Step Out
  5. เลือก Stop เพื่อจบการดีบัก

เริ่มจากตัวอย่างขนาดเล็กที่ทำให้เกิดปัญหาได้ และตั้ง breakpoint ก่อนค่าจะผิดจากที่คาดไว้ โหมดเซิร์ฟเวอร์ยังใช้ไฟล์ใน workspace และไลบรารีที่ติดตั้งแล้วได้