การทำงานกับแฟล็กใน Python
แฟล็ก คือตัวแปรพิเศษ
ที่สามารถรับค่าได้เพียงสองค่าเท่านั้น:
True หรือ False ด้วยความช่วยเหลือของ
แฟล็กคุณสามารถแก้ปัญหาที่ตรวจสอบ
การขาดหายของบางสิ่ง: ตัวอย่างเช่น คุณสามารถ
ตรวจสอบว่าในรายการไม่มีองค์ประกอบที่มี
ค่าที่กำหนด
มาแก้ปัญหาต่อไปนี้กัน: มีรายการ
ตัวเลข จำเป็นต้องตรวจสอบว่าองค์ประกอบทั้งหมด
ในนั้นเป็นบวกหรือไม่ สำหรับสิ่งนี้
ให้กำหนดตัวแปรพิเศษ flag
ซึ่งจะจริงก่อนเริ่มวงจร และ
เมื่อพบจำนวนลบในวงจร
ให้เปลี่ยนค่าเป็น False เพื่อ
ที่จะทราบผลการตรวจสอบ
ให้แสดงตัวแปร flag หลังจากวงจร
ไปยังคอนโซล:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # จะแสดง True เนื่องจากตัวเลขทั้งหมดเป็นบวก
การปฏิบัติที่ดีคือการตั้งชื่อให้กับ
ตัวแปรแฟล็กที่สะท้อนเงื่อนไข
ที่กำหนด เปลี่ยนชื่อ flag
เป็น isAllPositive และเพื่อความชัดเจน
เปลี่ยนตัวเลขหนึ่งในรายการเป็นลบ:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # จะแสดง False เนื่องจากมีตัวเลขลบ
หากในรายการที่วนซ้ำมีค่ามากมาย
และจำเป็นต้องหยุดวงจรหลังจากตรวจพบ
จำนวนลบตัวแรก ควร
ใช้คำสั่ง break:
for el in lst:
if el < 0:
isAllPositive = False
break
เมื่อทำงานกับแฟล็ก เพื่อทราบผลลัพธ์
การทำงานของวงจร สามารถแสดงค่าไม่ใช่แค่ค่าของ
แฟล็ก แต่ยังสามารถแสดงข้อความใดๆ ด้วยความช่วยเหลือของ
if เพิ่มเติม
มาเขียนตัวอย่างก่อนหน้านี้ใหม่ หาก
องค์ประกอบทั้งหมดเป็นบวก ให้
แสดง '+++' หากไม่ใช่ -
'---':
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # จะแสดง '---'
มีรายการหนึ่ง ตรวจสอบว่าองค์ประกอบทั้งหมดของมัน เป็นตัวเลขบวกหรือไม่
มีจำนวนเต็มหนึ่งตัว ตรวจสอบว่า มันเป็นจำนวนเฉพาะหรือไม่ นั่นคือหารด้วย หนึ่งและด้วยตัวมันเองเท่านั้น