---
metadata:
  - name: generator
    content: Diplodoc Platform v5.62.0
style:
  - _assets/styles/custom.css
  - _assets/fonts-golos-text.css
  - _assets/styles/hero-gradient.css
  - _assets/styles/hero-decoration.css
script:
  - _assets/scripts/latex-trust.js
description: Руководство пользователя (новая версия) - Условия
title: Условия
vcsPath: sintaksis-shablonov/upravliaiushchie-struktury/usloviia.md
alternate:
  - href: sintaksis-shablonov/upravliaiushchie-struktury/usloviia.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    rel: describedby
theme: _assets/style/theme.css
---

# Условия

Условие задается командой «if». Все, что стоит между «if» и «endif», выводится, только если условие выполняется.

```jinja
{% if condition %}
Содержимое
{% endif %}
```


## Виды условий
1. Проверка заполнения переменной

```jinja
{% if string_example %}
Переменная string_example заполнена
{% endif %}
{% if empty_string %}
Переменная empty_string заполнена
{% endif %}
```


**Результат:**
Переменная string_example заполнена

2. Сравнение значения
Сравнение с конкретным значением:

```jinja
{% if boolean_example == "true" %}
Высказывание истинно
{% endif %}
```


Сравнение значений переменных:

```jinja
{% if debet >= credit %}
Фух
{% endif %}
```


3. Проверка содержания

```jinja
{% if colour in list_example %}
{{ colour }} - один из цветов радуги
{% endif %}
```


4. Составные условия
Строятся связками «not», «and» и «or».
Условие «not X» выполняется, если и только если не выполняется условие «X»

```jinja
{% if not empty_string %}
Переменная empty_string не заполнена
{% endif %}
```


Условие «A and B» выполняется, если и только если выполняются условия «А» и «B»

```jinja
{% if A_length == B_length and A_angle == B_angle  %}
Векторы А и В равны
{% endif %}
```


Цепочку сравнений можно записать короче:

```jinja
{% if A == B and B == C and C < D %} эквивалентно {% if A == B == C < D %}
```


Условие «A or B» выполняется, если и только если выполняется условие «А» или условие «B»

```jinja
{% if A == B or A == C or B == C %}
Треугольник равнобедренный
{% endif %}
```


## Множественные условия
Чтобы задать вариант на случай, когда условие не выполняется, используйте команду «else»:

```jinja
{% if empty_string %}
Переменная empty_string заполнена
{% else %}
Переменная empty_string не заполнена
{% endif %}
```


**Результат:**
Переменная empty_string не заполнена

Чтобы проверить еще одно условие, если предыдущее не выполнилось, используйте команду «elif»:

```jinja
{% if side_count == 4 %}
Это тетраэдр
{% elif side_count == 6 %}
Это куб
{% elif side_count == 8 %}
Это октаэдр
{% endif %}
```
