Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!

Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount

ลูป


มีลูปสองประเภทในภาษา Python คือ for และ while

ลูป "for"

ลูป for ทำงานวนซ้ำผ่านลำดับที่ให้มา ตัวอย่างเช่น:

python primes = [2, 3, 5, 7] for prime in primes: print(prime)

ลูป for สามารถวนซ้ำผ่านลำดับของตัวเลขโดยใช้ฟังก์ชัน "range" และ "xrange" ความแตกต่างระหว่าง range และ xrange คือฟังก์ชัน range จะคืนค่ารายการใหม่ที่มีตัวเลขของช่วงที่กำหนดไว้ ในขณะที่ xrange จะคืนค่าเป็นตัวสร้างซึ่งมีประสิทธิภาพมากกว่า (Python 3 ใช้ฟังก์ชัน range ที่ทำงานเหมือน xrange) สังเกตว่าฟังก์ชัน range จะเริ่มจากศูนย์

```python # แสดงผล 0,1,2,3,4 for x in range(5): print(x)

# แสดงผล 3,4,5
for x in range(3, 6):
    print(x)

# แสดงผล 3,5,7
for x in range(3, 8, 2):
    print(x)

```

ลูป "while"

ลูป while ทำงานวนซ้ำตราบใดที่เงื่อนไขบูลีนเป็นจริง ตัวอย่างเช่น:

```python # แสดงผล 0,1,2,3,4

count = 0
while count < 5:
    print(count)
    count += 1  # เท่ากับ count = count + 1

```

คำสั่ง "break" และ "continue"

break ใช้เพื่อออกจากลูป for หรือ while ในขณะที่ continue ใช้เพื่อข้ามบล็อคปัจจุบันและกลับไปยังคำสั่ง "for" หรือ "while" ตัวอย่างบางส่วน:

```python # แสดงผล 0,1,2,3,4

count = 0
while True:
    print(count)
    count += 1
    if count >= 5:
        break

# แสดงผลเฉพาะเลขคี่ - 1,3,5,7,9
for x in range(10):
    # ตรวจสอบถ้า x เป็นเลขคู่
    if x % 2 == 0:
        continue
    print(x)

```

เราสามารถใช้ "else" clause กับลูปได้ไหม?

แตกต่างจากภาษาอื่นเช่น C, CPP... เราสามารถใช้ else กับลูปได้ เมื่อเงื่อนไขของคำสั่ง "for" หรือ "while" ไม่เป็นจริงแล้ว โค้ดส่วนใน "else" จะถูกดำเนินการ หากมีการใช้คำสั่ง break ภายในลูป for ส่วน "else" จะถูกข้ามไป สังเกตว่าส่วน "else" จะถูกดำเนินการแม้ว่าจะมีคำสั่ง continue ก็ตาม

นี่คือตัวอย่างบางส่วน:

```python # แสดงผล 0,1,2,3,4 และจากนั้นแสดง "count value reached 5"

count=0
while(count<5):
    print(count)
    count +=1
else:
    print("count value reached %d" %(count))

# แสดงผล 1,2,3,4
for i in range(1, 10):
    if(i%5==0):
        break
    print(i)
else:
    print("this is not printed because for loop is terminated because of break but not due to fail in condition")

```

Exercise

วนซ้ำและแสดงผลเฉพาะตัวเลขคู่จากรายการ numbers ในลำดับเดียวกับที่ได้รับ อย่าแสดงผลตัวเลขใดที่มาหลังจาก 237 ในลำดับ

numbers = [ 951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544, 615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941, 386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345, 399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217, 815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717, 958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470, 743, 527 ] # your code goes here for number in numbers: numbers = [ 951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544, 615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941, 386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345, 399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217, 815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717, 958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470, 743, 527 ] # your code goes here for number in numbers: if number == 237: break if number % 2 == 1: continue print(number) test_object("number", undefined_msg="Define a object `number` using the code from the tutorial to print just the desired numbers from the exercise description.",incorrect_msg="Your `number` object is not correct, You should use an `if` statement and a `break` statement to accomplish your goal.") success_msg("Great work!")

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!

Previous Tutorial Next Tutorial Take the Test
Copyright © learnpython.org. Read our Terms of Use and Privacy Policy