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