- ตัวดำเนินการ
-
เรียนรู้
ศูนย์การเรียนรู้ Python ตัวอย่างที่รันได้, NumPy, pandas และอื่น ๆ ศูนย์การเรียนรู้ C และ C++ พอยน์เตอร์ หน่วยความจำ STL และ C++ สมัยใหม่ ศูนย์การเรียนรู้ C#พื้นฐาน C#, OOP, LINQ, async และแบบฝึกหัด .NET อัลกอริทึม Python การค้นหา การเรียงลำดับ รีเคอร์ชัน และภาพจำลอง O(n) อัลกอริทึม C และ C++ เปรียบเทียบการเขียนด้วย C และ C++
- โจทย์
เลเยอร์ของโครงข่ายประสาทเทียม attention และการเรียนรู้ของเครื่องส่วนใหญ่ ล้วนลงเอยที่ การคูณเมทริกซ์ สำหรับเมทริกซ์ A ขนาด n × k และเมทริกซ์ B ขนาด k × m ผลคูณ C = A × B มีขนาด n × m โดยแต่ละสมาชิกคือผลคูณจุดของแถวหนึ่งของ A กับคอลัมน์หนึ่งของ B:
C[i][j] = A[i][0] × B[0][j] + A[i][1] × B[1][j] + … + A[i][k-1] × B[k-1][j]
จงเขียน matmul(a, b)
อินพุต
a: เมทริกซ์ n × k
b: เมทริกซ์ k × m (จำนวนแถวเท่ากับจำนวนคอลัมน์ของ a)
เอาต์พุต
คืนค่าเมทริกซ์ผลคูณขนาด n × m
เงื่อนไข
1 ≤ n, k, m ≤ 50
-100 ≤ แต่ละค่า ≤ 100
ตัวอย่าง
ตัวอย่างที่ 1
อินพุต:
a = [
[1.0, 2.0],
[3.0, 4.0]
]
b = [
[5.0, 6.0],
[7.0, 8.0]
]
ผลลัพธ์ที่คาดหวัง:
[
[19.0, 22.0],
[43.0, 50.0]
]
คำอธิบาย
C[0][0] = 1×5 + 2×7 = 19, C[0][1] = 1×6 + 2×8 = 22, C[1][0] = 3×5 + 4×7 = 43 และ C[1][1] = 3×6 + 4×8 = 50
ตัวอย่างที่ 2
อินพุต:
a = [
[1.0, 0.0, 2.0]
]
b = [
[3.0],
[4.0],
[5.0]
]
ผลลัพธ์ที่คาดหวัง:
[
[13.0]
]
คำอธิบาย
เมทริกซ์ 1 × 3 คูณเมทริกซ์ 3 × 1 ได้เมทริกซ์ 1 × 1: 1×3 + 0×4 + 2×5 = 13
แหล่งอ้างอิง
-
ตัวอย่างที่ 1 ยังไม่ได้รันอินพุต:
a = [ [1.0, 2.0], [3.0, 4.0] ] b = [ [5.0, 6.0], [7.0, 8.0] ]ผลลัพธ์ที่คาดหวัง:[ [19.0, 22.0], [43.0, 50.0] ]เอาต์พุตของคุณ -
ตัวอย่างที่ 2 ยังไม่ได้รันอินพุต:
a = [ [1.0, 0.0, 2.0] ] b = [ [3.0], [4.0], [5.0] ]ผลลัพธ์ที่คาดหวัง:[ [13.0] ]เอาต์พุตของคุณ
มี 4 การทดสอบที่ซ่อนอยู่จะถูกรันเมื่อคุณส่งคำตอบ
คอมไพเลอร์และดีบักเกอร์ Python ออนไลน์
เขียน รัน และดีบัก Python ออนไลน์ ใช้ breakpoint และการทำงานทีละขั้นในโหมดเซิร์ฟเวอร์ได้โดยไม่ต้องติดตั้ง
🚀 4,279,640 การดำเนินการทั้งหมด (40 ในเดือนนี้)
ฝึก Python ด้วยโจทย์เขียนโค้ด
แก้โจทย์จริงใน editor นี้: รันทดสอบตัวอย่าง ส่งคำตอบ และรับรีวิวโค้ดจาก AI
🐍 เกี่ยวกับตัวรัน Python ออนไลน์นี้
CodeUtility Python Executor ให้คุณเขียน รัน และทดสอบโค้ด Python ได้โดยตรงบนเบราว์เซอร์ของคุณ - ไม่ต้องตั้งค่าหรือทำการติดตั้งใด ๆ ใช้งานบนแซนด์บ็อกซ์ที่ปลอดภัยซึ่งรองรับเวอร์ชัน Python จริง ตั้งแต่ 3.10 ถึง 3.13
ไม่ว่าคุณจะเรียนรู้ Python เป็นครั้งแรก ทดสอบโค้ดสั้น ๆ หรือดีบั๊กลอจิก เครื่องมือนี้มอบสภาพแวดล้อมการเขียนโค้ดที่รวดเร็วและไร้สิ่งรบกวน คุณสามารถทดลองได้อย่างอิสระและเห็นผลลัพธ์ทันทีในคอนโซลที่มีมาให้
เหมาะกับผู้เริ่มต้น นักศึกษา และนักพัฒนาที่ต้องการ IDE ออนไลน์แบบเบา ๆ สำหรับฝึก Python หรือสร้างโปรโตไทป์อย่างรวดเร็ว
มากกว่าเครื่องมือรันโค้ด
ใช้ตัวแก้ไขหลายไฟล์ เทอร์มินัลประมวลผลแบบแยกส่วน ไลบรารีเฉพาะรันไทม์ พื้นที่ทำงานถาวร การแชร์ และการทำงานร่วมกันแบบเรียลไทม์ได้จากตัวประมวลผลเดียวกัน
วิธีใช้ตัวประมวลผลนี้
เลือกรันไทม์ เปิดหรือสร้างไฟล์ เขียนโค้ด แล้วเลือกเรียกใช้ ผลลัพธ์จะแสดงในเทอร์มินัล ส่วนผู้ใช้ที่ลงชื่อเข้าใช้สามารถเก็บไฟล์ในพื้นที่ทำงาน ติดตั้งไลบรารี และทำงานร่วมกันผ่านการแชร์ได้
- เลือกเวอร์ชันแล้วแก้ไขไฟล์ปัจจุบัน หรือเปิดไฟล์อื่นในพื้นที่ทำงาน
- เรียกใช้โค้ด ป้อนข้อมูลในเทอร์มินัลเมื่อระบบร้องขอ และตรวจสอบประวัติการเรียกใช้ที่บันทึกไว้
- ใช้ไลบรารี เครื่องมือพื้นที่ทำงาน การแชร์ และแชท เมื่องานของคุณต้องใช้โค้ดมากกว่าหนึ่งส่วน
💡 พื้นฐาน 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 ในโหมดเซิร์ฟเวอร์
- เลือกเวอร์ชัน Python ที่ทำงานบนเซิร์ฟเวอร์
- คลิกข้างหมายเลขบรรทัดเพื่อตั้ง breakpoint
- เลือก Debug เพื่อเริ่มโปรแกรมและหยุดที่ breakpoint แรก
- ตรวจสอบบรรทัดและตัวแปร แล้วใช้ Continue, Step Over, Step Into หรือ Step Out
- เลือก Stop เพื่อจบการดีบัก
เริ่มจากตัวอย่างขนาดเล็กที่ทำให้เกิดปัญหาได้ และตั้ง breakpoint ก่อนค่าจะผิดจากที่คาดไว้ โหมดเซิร์ฟเวอร์ยังใช้ไฟล์ใน workspace และไลบรารีที่ติดตั้งแล้วได้