Python ถ้า ... อื่น
เงื่อนไข Python และคำสั่ง if
Python รองรับเงื่อนไขตรรกะปกติจากคณิตศาสตร์:
- เท่ากับ: a == b
- ไม่เท่ากับ: a != b
- น้อยกว่า: a < b
- น้อยกว่าหรือเท่ากับ: a <= b
- มากกว่า: a > b
- มากกว่าหรือเท่ากับ: a >= b
เงื่อนไขเหล่านี้สามารถใช้ได้หลายวิธี โดยทั่วไปจะใช้ใน "คำสั่ง if" และลูป
"คำสั่ง if" เขียนโดยใช้คีย์เวิร์ดif
ตัวอย่าง
ถ้าคำสั่ง:
a = 33
b = 200
if b > a:
print("b is greater than a")
ในตัวอย่างนี้ เราใช้ตัวแปรสองตัวคือaและbซึ่งใช้เป็นส่วนหนึ่งของคำสั่ง if เพื่อทดสอบว่าbมากกว่าaหรือไม่ เนื่องจากaคือ33และbคือ200เรารู้ว่า 200 มากกว่า 33 ดังนั้นเราจึงพิมพ์ไปที่หน้าจอว่า "b มากกว่า a"
เยื้อง
Python อาศัยการเยื้อง (ช่องว่างที่จุดเริ่มต้นของบรรทัด) เพื่อกำหนดขอบเขตในโค้ด ภาษาโปรแกรมอื่นๆ มักใช้วงเล็บปีกกาเพื่อจุดประสงค์นี้
ตัวอย่าง
หากคำสั่งไม่มีการเยื้อง (จะทำให้เกิดข้อผิดพลาด):
a = 33
b = 200
if b > a:
print("b is greater than a")
# you will get an error
Elif
คีย์เวิร์ด elif เป็น วิธีของ pythons ที่พูดว่า "หากเงื่อนไขก่อนหน้านี้ไม่เป็นความจริง ให้ลองใช้เงื่อนไขนี้"
ตัวอย่าง
a = 33
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
ในตัวอย่างนี้aเท่ากับbดังนั้นเงื่อนไขแรกไม่เป็นความจริง แต่ เงื่อนไข elifเป็นจริง ดังนั้นเราจึงพิมพ์ไปที่หน้าจอว่า "a และ b เท่ากัน"
อื่น
คีย์เวิร์ด else จะจับทุกอย่างที่ไม่เป็นไปตามเงื่อนไขก่อนหน้า
ตัวอย่าง
a = 200
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
else:
print("a is greater than b")
ในตัวอย่างนี้aมากกว่าbดังนั้นเงื่อนไขแรกไม่เป็นความจริง เงื่อนไข elifก็ไม่เป็นจริงด้วย ดังนั้นเราจึงไปที่ เงื่อนไข elseและพิมพ์ไปที่หน้าจอว่า "a มากกว่า b"
คุณยังสามารถมีได้else
โดยไม่ต้องใช้
elif
:
ตัวอย่าง
a = 200
b = 33
if b > a:
print("b is greater than a")
else:
print("b is not greater than a")
มือสั้น If
หากคุณมีเพียงหนึ่งคำสั่งที่จะดำเนินการ คุณสามารถวางมันในบรรทัดเดียวกับคำสั่ง if
ตัวอย่าง
หนึ่งบรรทัด if คำสั่ง:
if a > b: print("a is greater than b")
มือสั้น ถ้า ... อื่น
หากคุณมีเพียงหนึ่งคำสั่งที่จะดำเนินการ หนึ่งคำสั่งสำหรับ if และอีกหนึ่งคำสั่งสำหรับอย่างอื่น คุณสามารถรวมทั้งหมดไว้ในบรรทัดเดียวกัน:
ตัวอย่าง
หนึ่งบรรทัด if else คำสั่ง:
a = 2
b = 330
print("A") if a > b else print("B")
เทคนิคนี้เรียกว่าTernary OperatorsหรือConditional Expressions
คุณยังสามารถมีคำสั่ง else หลายรายการในบรรทัดเดียวกันได้:
ตัวอย่าง
คำสั่ง if else หนึ่งบรรทัด โดยมี 3 เงื่อนไข:
a = 330
b = 330
print("A") if a > b else print("=") if a == b else print("B")
และ
คีย์เวิร์ด และ คีย์เวิร์ดเป็น ตัวดำเนินการเชิงตรรกะ และใช้เพื่อรวมคำสั่งแบบมีเงื่อนไข:
ตัวอย่าง
ทดสอบว่าa
มากกว่า
b
, และ หากc
มากกว่าa
:
a = 200
b = 33
c = 500
if a > b and c > a:
print("Both conditions are True")
หรือ
คีย์เวิร์ดเป็น ตัวor
ดำเนินการเชิงตรรกะ และใช้เพื่อรวมคำสั่งแบบมีเงื่อนไข:
ตัวอย่าง
ทดสอบว่าa
มากกว่า
b
, หรือ ถ้าa
มากกว่าc
:
a = 200
b = 33
c = 500
if a > b or a > c:
print("At least one of the conditions is True")
ซ้อนกันถ้า
คุณสามารถมีif
ข้อความสั่งภายใน
if
ข้อความสั่งได้ ซึ่งเรียกว่าคำสั่งซ้อน
if
ตัวอย่าง
x = 41
if x > 10:
print("Above ten,")
if x > 20:
print("and
also above 20!")
else:
print("but not
above 20.")
คำสั่งผ่าน
if
ข้อความต้องไม่ว่างเปล่า แต่ถ้าคุณมีเหตุผลบางอย่างที่มีif
ข้อความที่ไม่มีเนื้อหา ให้ใส่pass
ข้อความสั่งเพื่อหลีกเลี่ยงข้อผิดพลาด
ตัวอย่าง
a = 33
b = 200
if b > a:
pass