Skip to content

การใช้งาน range ใน Python

range เป็นคำสั่งสำหรับมีไว้ในการลำดับจำนวนตัวเลข เช่น แสดงตัวเลข 0 - 3 หรือแบบก้าวกระโดด 3,6,9 มีทั้งไปทาง + และ - ตามระบบเส้นจำนวนจริง ครับ


มีหลักในการใช้งานหลักนี้ครับ

range(เริ่ม,จบ, การเพิ่มขึ้น)

การใช้งาน

range(stop)

คือ การลูปจำนวนตั้งแต่ 0 ถึงจำนวนที่ต้องการหยุด stop
ตัวอย่าง

>>> for i in range(5):
	print(i)

0
1
2
3
4

จะเห็นได้ว่า โปรแกรมจะลูปจำนวนออกมาในช่วง [0,5) ตามหลักคณิตศาสตร์

range(start,stop)

คือ การลูปจำนวนตั้งแต่เริ่มต้น start ถึงหยุดที่ stop
ตัวอย่าง

>>> for i in range(5,10):
	print(i)

5
6
7
8
9

จะเห็นได้ว่า โปรแกรมจะลูปจำนวนออกมาในช่วงที่เรากำหนด นั้นคือ [5,10) ตามหลักคณิตศาสตร์

range(start,stop,step)

คือ การลูปจำนวนตั้งแต่เริ่มต้น start ถึงหยุดที่ stop โดยเพิ่มทีละจำนวนที่กำหนดไว้ใน step
ตัวอย่าง

>>> for i in range(5,10,2):
	print(i)

5
7
9

ตัวอย่างการใช้งาน range ใน Python

>>> list(range(3))

[0, 1, 2]
>>> list(range(0,10))

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(-3,9))

[-3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8]
>>> list(range(0, 20, 2))

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

การนำไปใช้กับการลูป
สมมุติว่า มีโจทย์โปรแกรมให้เขียนโปรแกรมโดยใช้ for การลูปใน Python โดยไล่ตามนี้ครับ
1
22
333
4444
55555
โค้ดตัวอย่าง

>>> for i in range(1, 6): #กำหนดให้ตัวแปร i แทน range(1, 6) หมายถึงช่วงของตัวเลข 1 - 6
...   print(str(i) * i + "\n")
...
1

22

333

4444

55555


ตัวอย่างโปรแกรมหาเลขคี่ 0 - 100 ในภาษา Python

>>> for i in range(0,100):
	b = 0
	b=i%2 #หารเอาเศษ โดยเอาจำนวนนั้นหารด้วย 2
	if(b!=0): #หากหารแล้วเศษไม่เท่ากับ 0
		print(i) #แสดงจำนวนนั้นออกมา

ใช้การกำหนดช่วงจำนวนใน range(0,100) ให้อยู่ในช่วง 0 - 100 ครับ หากต้องการหาเลขคู่แค่เปลี่ยนตรงบรรทัด

if(b!=0):
		print(i)

เป็น

if(b==0):
		print(i)

เพราะจำนวนคู่หารด้วย 2 ลงตัวไม่มีเศษ เศษจึงเป็น 0 แต่ จำนวนคี่เมื่อหาร 2 เศษจะไม่เป็น 0 เพราะหารไม่ลงตัวครับ

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

5 thoughts on “การใช้งาน range ใน Python

  1. Mckii

    for i in range(1, 6):
    print(str(i) * i + "n")
    _________________________
    คำสั่งบรรทัดใหม่ลืม \ นะครับ

    Reply
  2. asdf

    สัญลักษณ์ทางคณิตศาสตร์ใช้ผิดนะครับ คร่าวๆ เห็นอ้างอิงแบบนี้สองจุดครับ

    1). "จะเห็นได้ว่า โปรแกรมจะลูปจำนวนออกมาในช่วง (0,5] ตามหลักคณิตศาสตร์"

    2). "จะเห็นได้ว่า โปรแกรมจะลูปจำนวนออกมาในช่วงที่เรากำหนด นั้นคือ (5,10] ตามหลักคณิตศาสตร์"

    ถ้าใช้แบบด้านบนจะกลายเป็นว่า
    1.) ไม่เอา 0 แต่เอา 5
    2.) ไม่เอา 5 แต่เอา 10
    ซึ่งไม่ตรงกับ output ของ python

    ควรต้องแก้ไขเป็น [0,5) ครับ และ [5,10) ตามลำดับครับ
    ซึ่งหมายถึง
    1).เอา 0 ด้วย แต่ไม่เอา 5
    2).เอา 5 แต่ไม่เอา 10

    Reply
      1. asdf

        ขอบคุณครับ แอคทีฟดีมากๆ เนื้อหาก็ดีมากๆ เช่นกันครับ
        ขอบคุณที่ทำบล็อกดีๆ เนื้อหาแน่นๆ เข้าใจง่าย มาให้ได้อ่านกันครับ 😀

        Reply

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *