You are on page 1of 5

คำสั่งให้เครื่องคอมพิวเตอร์กระทำคำสั่งใด ๆ ซ้ำกันในลักษณะของการวนลูป (loop) มีอยู่สองวิธีการใหญ่

ด้วยกัน คือ

1. for loop
2. while loop

for loop
วนในข้อมูลประเภท sequence เช่น list, dictionary, string, tuple หรือ array

for x in sequence:

do something with x

โดยที่ x เป็ นชื่อตัวแปรใด ๆ ก็ตาม

In [ ]: mylist = ["A", "B", "C", "D"]

mystring = "I love KMUTT."

mytuple = (1,2,3,4,5)

In [ ]: for x in mytuple:

text = "This is it!" + str(x)

print(text)

This is it!1

This is it!2

This is it!3

This is it!4

This is it!5

In [ ]: for i in range(10): # ไปจนถึงแต่ไม่รวม

print(i)

In [ ]: for i in range(10): #ไปจนถึง แต่ไมรวม

print(i)

range(start, stop, step)


In [ ]: start = 1

stop = 13

for i in range(start,stop+1, 2):

print(i)

11

13

In [ ]: for i in range(10,0,-2):

print(i)

10

แบบฝึกหัด
จงใช้คำสั่ง for ในการ print อักขระที่ปรากฎดังต่อไปนี้

In [ ]:

@@

@@@

@@@@

@@@@@

@@@@@@

@@@@@@@

@@@@@@@@

@@@@@@@@@

@@@@@@@@@@

@@@@@@@@@@

@@@@@@@@@

@@@@@@@@

@@@@@@@

@@@@@@

@@@@@

@@@@

@@@

@@

In [ ]: for i in range(1,11):

print("@"*i)

for i in range(10,0,-1):

print("@"*i)

@@

@@@

@@@@

@@@@@

@@@@@@

@@@@@@@

@@@@@@@@

@@@@@@@@@

@@@@@@@@@@

@@@@@@@@@@

@@@@@@@@@

@@@@@@@@

@@@@@@@

@@@@@@

@@@@@

@@@@

@@@

@@

Break & Continue


break = ออกจากลูป

continue = ข้ามการวนปัจจุบันไปลูปในรอบถัดไป

In [ ]: for i in range(10):

if i == 7 or i == 3:

continue

print(i)

In [ ]: for i in range(20): #ไปจนถึง แต่ไมรวม

if i == 15:

break

if i == 12:

continue

if i%2 == 0:

print(i, 'even number')

if i%2 != 0:

print(i, 'odd number')

0 even number

1 odd number

2 even number

3 odd number

4 even number

5 odd number

6 even number

7 odd number

8 even number

9 odd number

10 even number

11 odd number

13 odd number

14 even number

Nested loop
In [ ]: for i in range(5):

for j in range(3):

pass

print(f'i = {i}, j = {j}')

i = 0, j = 2

i = 1, j = 2

i = 2, j = 2

i = 3, j = 2

i = 4, j = 2

In [ ]: for char in "A B C D".split(' '):

for i in range(1,5):

print(char + str(i))

A1

A2

A3

A4

B1

B2

B3

B4

C1

C2

C3

C4

D1

D2

D3

D4

While loop
วนลูปไปเรื่อย ๆ ในขณะที่ condition ยังเป็ นจริง

In [8]: i = 1

while i<10:

print(i)

i += 1

else:

print("Finish while loop")

Finish while loop

In [4]: error = 1.0

while error < 1e-10:

train_model()

แบบฝึกหัด
จงเขียนเกมส์ทายตัวเลข ให้บอกใบ้ได้แค่ว่าเลขที่ทายมาน้อยกว่าหรือมากกว่าคำตอบ

In [10]: num = 0

answer = 21

while num != answer:

num = int(input("Please type a number:"))

if num < answer:

print("Try higher")

elif num > answer:

print("Try lower")

else:

print("Congratulations!")

Please type a number:15

Try higher

Please type a number:22

Try lower

Please type a number:21

Congratulations!

You might also like