Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การใช้คำสั่ง else ร่วมกับลูป for ใน Python


ในบทความนี้ เราจะเรียนรู้เกี่ยวกับคำสั่ง loop-else ใน Python 3.x หรือเวอร์ชันก่อนหน้า ในบทช่วยสอนนี้ เราจะเน้นที่วิธีการทำงานของ for loop และ else statement

ในภาษาอื่นๆ ฟังก์ชัน else มีให้ใช้เฉพาะในคู่ if-else เท่านั้น แต่ Python อนุญาตให้เรานำฟังก์ชัน else ไปใช้กับ for loops ได้ด้วย

ฟังก์ชัน else พร้อมใช้งาน فقطเมื่อลูปสิ้นสุดลงอย่างปกติ (normally) ในกรณีที่ลูปถูกยกเลิกโดยบังคับ (forceful termination) else statement จะถูกมองข้ามโดย interpreter และการทำงานของมันจะถูกข้าม

ตอนนี้มาดูภาพรวมอย่างรวดเร็วผ่านภาพประกอบบางอย่างเพื่อเข้าใจ loop-else statement ให้ดีขึ้น

ILLUSTRATION 1: For-Else Construct ที่สิ้นสุดปกติ

ตัวอย่าง

for i in ['T', 'P']:
    print(i)
else: # Loop else statement
    print("Loop-else statement successfully executed")

ผลลัพธ์

T
P
Loop-else statement successfully executed

ILLUSTRATION 2: For-Else Construct ที่สิ้นสุดโดยบังคับ

ตัวอย่าง

for i in ['T', 'P']:
    print(i)
    break
else: # Loop else statement
    print("Loop-else statement successfully executed")

ผลลัพธ์

T

คำอธิบาย − Loop else statement ถูกดำเนินการใน ILLUSTRATION 1 เนื่องจาก for loop สิ้นสุดลงอย่างปกติหลังจากทำซ้ำครบลิสต์ ['T','P'] แต่ใน ILLUSTRATION 2 loop-else statement ไม่ได้ถูกดำเนินการ เนื่องจากลูปถูกยกเลิกโดยบังคับด้วยคำสั่งกระโดดเช่น break

ภาพประกอบเหล่านี้ชี้ให้เห็นชัดเจนว่า loop-else statement ไม่ได้ทำงานเมื่อลูปถูกยกเลิกโดยบังคับ

ตอนนี้มาดูภาพประกอบที่ในบางเงื่อนไข loop-else statement ถูกดำเนินการ และบางอย่างไม่

ตัวอย่าง

def pos_neg_test():
    for i in [5, 6, 7]:
        if i >= 0:
            print("Positive number")
        else:
            print("Negative number")
            break
    else:
        print("Loop-else Executed")

# main function
pos_neg_test()

ผลลัพธ์

Positive number
Positive number
Positive number
Loop-else Executed

คำอธิบาย − ที่นี่ else block ใน if-else construct ไม่ได้ถูกดำเนินการ เพราะเงื่อนไข if เป็นจริง Loop-Else statement จึงถูกดำเนินการ

ถ้าเราแทนลิสต์ใน for loop [5, 6, 7] ด้วย [7, -1, 3] ผลลัพธ์จะเปลี่ยนเป็น

ผลลัพธ์

Positive number
Negative number

สรุป

ในบทความนี้ เราได้เรียนรู้การนำ loop-else statement ไปใช้งานและหลากหลายวิธีที่มันสามารถนำไปใช้งานได้