ฝึกเขียน Python อยากหาค่าที่อยู่ตรงกลางของ List ที่ไม่ใช่ค่าเฉลี่ยจึงใช้คำสั่ง len และหารด้วย 2 แต่พอรันแล้วไม่ผ่านขึ้นข้อความว่า TypeError: list indices must be integers or slices, not float แบบนี้ต้องแก้ไขอย่างไร
number = [1,2,3,4,5,6,7,8,9]
m = len(number)/2
print( number[m] )
วิธีแก้ไข
เนื่องจากลำดับของ List เป็นตัวเลขจำนวนเต็ม (Integer) แนะนำให้แปลงค่า len(number)/2 ให้เป็นชนิดตัวเลข (int) ก่อนส่งให้ตัวแปร m นำไปใช้ สามารถเขียนโปรแกรมได้ดังนี้
number = [1,2,3,4,5,6,7,8,9]
m = int(len(number)/2)
print( number[m] )
ผลลัพธ์
5