> Но каждому элементу этого множества можно однозначно сопоставить ТОЛЬКО ОДИН элемент этого списка
Т.к. список может содержать не уникальные элементы, то однозначно что-то сопоставить не получится.
RodegastКаждое следующее число, используя функцию (различаться с каждым предыдущим), уникально в этом списке.
Т.к. список может содержать не уникальные элементы, то однозначно что-то сопоставить не получится.
print("\n__ноль") def f0(x, p): NULL = (False==False and False!=False) '''NULL то, что равно и не равно себе''' if p == "+": return x + NULL if p == "*": return x * NULL if p == "**": return x ** NULL print("суммируем с нулем: ", f0(4, "+")) # =4 print("умножаем на ноль: ", f0(6, "*")) # =0 print("возводим в степень ноль: ", f0(7, "**")) # =1
print("\n__единица") def f1(x, p): ONE = (False == False and not (False==False and False!=False)) '''ONE - то, что равно себе и не равно нулю''' if p == "+": return x + ONE if p == "*": return x * ONE if p == "**": return x ** ONE print("суммируем с равным себе: ", f1(4, "+")) # =5 print("умножаем на равное себе: ", f1(6, "*")) # =6 print("возводим в степень равное себе: ", f1(7, "**")) # =7
NULL = (False==False and False!=False) ONE = (False == False and not (False==False and False!=False))
RodegastСм. в коде
Функцию в студию!
RodegastПроще. Но требуется как раз выразить числа, не используя их в явном виде. А поскольку числа - суть отношения (равно, не равно), то это и используется.
А не проще ли сразу написать NULL = 0; ONE = 1?
Prelude> null = (False == False && False /= False) Prelude> null False Prelude> null * 5 <interactive>:21:6: No instance for (Num Bool) arising from a use of `*' Possible fix: add an instance declaration for (Num Bool) In the expression: null * 5 In an equation for `it': it = null * 5 Prelude>
RodegastЕсть. Достаточно запустить и убедиться в этом: каждому элементу множества (что требуется посчитать), ставится в соответствие только один элемент из списка, который формируется по правилу: каждое следующее число должно различаться с каждым предыдущим.
Уже смотрел, её там нет.
RodegastЯвляются.
Нет, числа отношениями не являются.
RodegastЧто такое bool? Что использует 0,1
В Python-е это работает только из за особенностей реализации типа bool, в других ЯП не факт что такое прокатит.
RodegastПричем здесь функции sum? Я говорю о математической функции, которая ставит в соответствие каждому элемента множества только один элемент из списка чисел, который формируется по правилу “”различаться с каждым предыдущим
> Есть. Достаточно запустить и убедиться в этом
У тебя там только 2 функции и все почему то названы sum.
RodegastЯ не берусь отвечать за все языки. Но число ноль - это то, что (не равно себе), т.е false.
Нет. bool это тип который имеет 2 значения: Истина и Ложь и они не обязаны равняться 1 или 0.
>>> 0 == 0 True