До текущего момента все условия были атомарными. Но мы можем делать составные условия с помощью различных логических операций.

 

Операция

Синтаксис

Описание

Пример

Отрицание

not *условие 1*

Меняет истинность условия

not(x%3==0)

Истинно, если x не кратен трем

Конъюнкция (и)

*условие 1* and *условие 2*

Истина, когда оба условия истинны

(x1>0) and (x2>0)

Истинно, если и x1, и x2 положительны

Дизъюнкция (или)

*условие 1* or *условие 2*

Истина, когда хотя бы одно условие истинно

(x1>0) or (x2>0)

Истинно, если хотя бы одно из двух чисел положительно

Исключающее или

*условие 1* != *условие 2*

Истина, когда истинность условий не совпадает

(x1%2==0)!=(x2%2==0)

Истинно, когда одно число четно, а другое нечетно

Эквивалентность

*условие 1* == *условие 2*

Истина, когда истинность условий совпадает

(x1%2==0)==(x2%2==0)

Истинно, когда оба числа четны, либо оба числа нечетны (четность чисел совпадает)

Импликация

*условие 1* <= *условие 2*

Ложно, когда первое условие истинно, а второе ложно (условие если-то)

(x1>0)<=(x2>0)

Ложно, когда первое число положительно, а второе не положительно. В остальных случая истина

 

Также стоит отметить, что помимо основного блока if и необязательного блока else, существует еще блок elif.

 

if *первое условие*:

  *действия, которые будут выполняться, если условие истинно*

elif *второе условие*:

  *действия, которые будут выполняться, если первое условие не выполнено, но выполнено второе*

elif *третье условие*:

  *действия, которые будут выполняться, если ни первое условие, ни второе условие не выполнены, но выполнено третье*

else:

  *действия, которые будут выполняться, если ни одно условие не истинно*

Условий может быть любое количество, и также блок else не является обязательным.

Решим следующую задачу. Необходимо вывести в текстовом виде информацию о двух введенных числах, оба четны, четно только одно или же оба нечетны.

#Вводим числа x и y

x=int(input())

y=int(input())

if (x%2==0) and (y%2==0):

#если x и y четны, то выводим информацию об этом

print("Оба введенных числа четны")

elif (x%2==0) or (y%2==0):

#если ложно то, что четны оба, но истина, что четно хотя бы одно

print("Четно только одно число")

else:

#если ложно и то, что оба четны, и то, что четно хотя бы одно

print("Оба числа нечетны")

Последнее изменение: пятница, 8 августа 2025, 12:26