Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 22, 2022 18:10:02

WestSide
От: Россия
Зарегистрирован: 2022-06-22
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по второму заданию ЕГЭ(найдите ошибку в коде

Не пойму где я допустил ошибку, при выполнении данного кода просто выдаёт перебор всех возможных значений таблицы.
сам код:

    
print('x y z w')
for x in range(2):
    for y in range(2):
        for z in range(2):
            for w in range(2):
                if (x and (not y)) or (y == z) or (not w) == False:
                    print(x, y, z, w)
само задание:
https://inf-ege.sdamgia.ru/problem?id=18071

Отредактировано FishHook (Июнь 22, 2022 18:11:14)

Офлайн

#2 Июнь 22, 2022 18:15:12

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вопрос по второму заданию ЕГЭ(найдите ошибку в коде

WestSide
потому что нарушен приоритет операторов
вот так должно быть правильно

 if (x and not y) or y == z or not w:



Офлайн

#3 Июнь 22, 2022 20:58:59

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Вопрос по второму заданию ЕГЭ(найдите ошибку в коде

FishHook
потому что нарушен приоритет операторов
вот так должно быть правильно
Приоритет нарушен, но правильно должно быть так

Было
WestSide
  
if (x and (not y)) or (y == z) or (not w) == False:
Стало
  
if not ((x and not y) or y == z or not w):

  
>>> print('x y z w')
x y z w
>>> for x in (0, 1):
...     for y in (0, 1):
...         for z in (0, 1):
...             for w in (0, 1):
...                 if not ((x and not y) or y == z or not w):
...                     print(x, y, z, w)
... 
0 0 1 1
0 1 0 1
1 1 0 1
>>>

WestSide, пожалуйста, не пиши range() в данном случае, не будь таким “умным”. Явное лучше, чем неявное.



Отредактировано py.user.next (Июнь 22, 2022 21:01:24)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version