ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีรับอินพุทเมทริกซ์ใน Python จากผู้ใช้ มีสองวิธีหลัก ลองดูทั้งสองวิธี
วิธีที่ 1: รับทีละตัวเลข
รับตัวเลขของเมทริกซ์ทีละตัวจากผู้ใช้ ดูโค้ดด้านล่าง
ตัวอย่าง
# เริ่มต้นเมทริกซ์ว่าง
matrix = []
# รับเมทริกซ์ 2x2 จากผู้ใช้
for i in range(2):
# แถวว่าง
row = []
for j in range(2):
# ขอให้ผู้ใช้ป้อนตัวเลข
# แปลงเป็น int เพราะค่าเริ่มต้นเป็น string
element = int(input())
# เพิ่มสมาชิกเข้า 'row'
row.append(element)
# เพิ่ม 'row' เข้า 'matrix'
matrix.append(row)
# พิมพ์เมทริกซ์
print(matrix)
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้
1 2 3 4 [[1, 2], [3, 4]]
วิธีที่ 2: รับทีละแถว (Space-separated)
รับอินพุททีละแถว โดยคั่นด้วยช่องว่าง แล้วแปลงแต่ละตัวด้วย map และ int ดูโค้ด
ตัวอย่าง
# เริ่มต้นเมทริกซ์ว่าง
matrix = []
# รับเมทริกซ์ 2x2 จากผู้ใช้
for i in range(2):
# รับอินพุทแถวจากผู้ใช้
row = list(map(int, input().split()))
# เพิ่ม 'row' เข้า 'matrix'
matrix.append(row)
# พิมพ์เมทริกซ์
print(matrix)
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้
1 2 3 4 [[1, 2], [3, 4]]
สรุป
วิธีที่ 2 สะดวกกว่า ใช้ input().split() ร่วมกับ map(int, ...) หากมีข้อสงสัย กรุณาแจ้งในส่วนความคิดเห็น