Всем привет, сейчас вырву кусок кода и обьясню.
flag = True
ans_wire = str(input('Какой провод резать? (1-4) \n'))
if color_wire > 1 and dev_k == 1 and (d == ‘Красный \n’ and (c == ‘Красный \n’ or b == ‘Красный \n’ or a == ‘Красный \n’)) and ans_wire == str(4): # провод 4, этап 1
print('Molodec')
elif color_wire > 1 and dev_k == 1 and (b and c or a and c == ‘Красный \n’) \
and ans_wire == str(3) and flag == True:
print('Molodec')
elif color_wire > 1 and dev_k == 1 and (a and b == ‘Красный \n’) \
and ans_wire == str(2) and flag == True:
print('Molodec')
elif d == ‘Жёлтый \n’ and color_wire == 0 \
and ans_wire == str(1) and flag == True: # провод 4, этап 2
print('Molodec')
elif color_wire == 1 and ans_wire == str(1) and flag == True:
print('Molodec') # провод 4, этап 3
elif color_wire > 1 and ans_wire == str(4) and flag == True:
print('Molodec')# провод 4, этап 4
elif ans_wire == str(2) and (color_wire <= 1 or d != ‘Жёлтый \n’ \
or color_wire > 1 or color_wire == 0 or color_wire <= 1): # ничего не подошло, то 2
print('Molodec')
else:
print(“Durachek”)
Неважно на операторы, это рандомные числа. Просто нужно, что бы последняя функция elif не срабатывала, если хоть одна комбинация подходила, но выход так что в любом случае пишу 2 и ответ верно.
Кажеться я неправильно расставил скобки для or. Уже второй день ищу ответ, помогите пожалуйста