Devdit
 

TypeError: list indices must be integers or slices, not float คือ วิธีแก้ไข

1.3K

ฝึกเขียน 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
เขียน 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ