Jython - การควบคุมการตัดสินใจ

โครงสร้างการตัดสินใจมีเงื่อนไขอย่างน้อยหนึ่งเงื่อนไขที่จะต้องได้รับการประเมินหรือทดสอบโดยโปรแกรมพร้อมกับคำสั่งหรือคำสั่งที่จะดำเนินการหากเงื่อนไขถูกกำหนดให้เป็นจริงและเป็นทางเลือกที่จะเรียกใช้คำสั่งอื่น ๆ หากเงื่อนไข ถูกกำหนดให้เป็นเท็จ

ภาพประกอบต่อไปนี้แสดงรูปแบบทั่วไปของโครงสร้างการตัดสินใจทั่วไปที่พบในภาษาโปรแกรมส่วนใหญ่ -

Jython ไม่ใช้วงเล็บปีกกาเพื่อระบุบล็อกของคำสั่งที่จะดำเนินการเมื่อเงื่อนไขเป็นจริงหรือเท็จ (เช่นเดียวกับใน Java) แต่จะใช้การเยื้องสม่ำเสมอ (ช่องว่างจากขอบด้านซ้าย) เพื่อสร้างบล็อกของคำสั่ง บล็อกที่เยื้องสม่ำเสมอดังกล่าวทำให้โค้ดเงื่อนไขถูกดำเนินการเมื่อเงื่อนไขที่กำหนดในคำสั่ง 'if' เป็นจริง

อาจมีบล็อกที่คล้ายกันอยู่หลังคำสั่ง "else" ซึ่งเป็นทางเลือก Jython ยังมีไฟล์elif statementโดยใช้เงื่อนไขต่อเนื่องที่สามารถทดสอบได้ ที่นี่else clauseจะปรากฏเป็นครั้งสุดท้ายและจะดำเนินการต่อเมื่อเงื่อนไขก่อนหน้าทั้งหมดล้มเหลว ไวยากรณ์ทั่วไปของการใช้if..elif..else มีดังนี้

if expression1:
   statement(s)
elif expression2:
   statement(s)
elif expression3:
   statement(s)
else:
   statement(s)

ในตัวอย่างต่อไปนี้ถ้า ..elif ..else โครงสร้างใช้ในการคำนวณส่วนลดสำหรับค่าต่างๆของจำนวนเงินที่ป้อนโดยผู้ใช้

discount = 0
amount = input("enter Amount")
if amount>1000:
   discount = amount*0.10
elif amount>500:
   discount = amount*0.05
else:
   discount = 0
print 'Discount = ',discount
print 'Net amount = ',amount-discount

ผลลัพธ์ของโค้ดด้านบนจะเป็นดังที่แสดงด้านล่าง

enter Amount1500
Discount = 150.0
Net amount = 1350.0
enter Amount600
Discount = 30.0
Net amount = 570.0
enter Amount200
Discount = 0
Net amount = 200