generated from hexlet-basics/exercises-template
-
Notifications
You must be signed in to change notification settings - Fork 3
/
description.ru.yml
77 lines (53 loc) · 3.58 KB
/
description.ru.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
---
name: Отрицание
theory: |
Наряду с логическими операторами **И** и **ИЛИ**, часто используется операция «**отрицание**». Она меняет логическое значение на противоположное. В программировании отрицанию соответствует унарный оператор `not`:
```python
not True # False
not False # True
```
Например, если есть функция, которая проверяет четность числа, то с помощью отрицания можно выполнить проверку нечетности:
```python
def is_even(number):
return number % 2 == 0
print(is_even(10)) # => True
print(not is_even(10)) # => False
```
В примере выше мы добавили `not` слева от вызова функции и получили обратное действие.
Отрицание — инструмент, с которым можно выражать задуманные правила в коде и не писать новые функции.
Если написать `not not is_even(10)`, то код сработает даже в таком случае:
```python
print(not not is_even(10)) # => True
```
https://replit.com/@hexlet/python-basics-logic-logical-negation
В логике двойное отрицание — это отсутствие отрицания:
```python
not not True # True
not not False # False
print(not not is_even(10)) # => True
print(not not is_even(11)) # => False
```
Теперь вы знаете, что означают операторы **И**, **ИЛИ** и `not`. С их помощью вы сможете задавать составные условия из двух и более логических выражений.
instructions: |
В этом уроке вам нужно будет реализовать две функции `is_palindrome()` и `is_not_palindrome()`
1. Реализуйте функцию `is_palindrome()`, которая определяет, является ли слово палиндромом или нет. Палиндром - это слово, которое читается одинаково в обоих направлениях. Слова в функцию могут быть переданы в любом регистре, поэтому сначала нужно привести слово к нижнему регистру: `word.lower()`.
```python
is_palindrome('шалаш') # true
is_palindrome('хекслет') # false
is_palindrome('Довод') # true
is_palindrome('Функция') # false
```
2. Реализуйте функцию `is_not_palindrome()`, которая проверяет что слово НЕ является палиндромом:
```python
is_not_palindrome('шалаш') # false
is_not_palindrome('Ага') # false
is_not_palindrome('хекслет') # true
```
Для этого, вызовите функцию `is_palindrome()` внутри `is_not_palindrome()` и примените отрицание.
tips:
- |
[Законы Де Моргана](https://ru.wikipedia.org/wiki/Законы_де_Моргана)
definitions:
- name: Отрицание
description: |
логическая операция, которая меняет логическое значение на противоположное.