RodegastМножество ℕ формируется через набор аксиом Пеано, начиная с единицы.
Нет. ℕ это не упорядоченное множество.
Почитай подробно.
Оно просто не может быть неупорядоченным.
RodegastМножество ℕ формируется через набор аксиом Пеано, начиная с единицы.
Нет. ℕ это не упорядоченное множество.
RodegastМат. логика работает с истиной и ложью. Чтобы выразить ложь, необходимо ложное высказывание, а не истинное. Ложное можно получить так: X!=X. Пустое множество именно так и задается.
Ты же берёшь заведомо ложное высказывание
bulygin69а оно и так не отображает. Видите ли то что верно для математики может быть неверно для програмирования. В конечном итоге програмированию, в отличии от математики, не важно как вы получили то что y=False если оно у вас False ВСЕГДА. строка y = (False == False and False != False) имела бы смысл, если бы мы могли представить ситуацию при которой результат мог бы быть отличным от False.
Мог бы. Но это бы не отображало смысл, что:
bulygin69Да ,это понятно, возможно с точки зрения математики это имеет смысл но не с точки зрения программирования. Это допустимо только если мы можем допустить ситуацию когда (Х!=Х). но такая ситуация никогда не возможна в принципе, значит эта строчка в коде лишняя, это просто еще один кусок индусского кода, котрый просто зря тратит процессорное время. С таким же успехом вы можете писать “while 2+2 == 4:” вместо “while True:”. Формально и то и то правильно, но никто не пишет первый вариант, (кроме индусов, естественно), так как понимают что подобное ничего не даст кроме того что процессору понадобиться пара лишних тактов для обработки комманды.
Имеем если (Х!=Х),то (ноль Х)
bulygin69А возможны иные ситуации? приведите тогда такой набор входных данных при котороых X!=X чтобы проверить верновть работы вашей программы.
если (Х==Х), то это (одно Х)
bulygin69Вы путаете причину и следствие, True - это 1 потому что так решили программисты придумавше пайтон. В другом ЯП True False может иметь иное значение, или к нему будут неприменимы арифметические операции.
Правильно! Это лишний раз доказывает, что True - это 1.
bulygin69конечно потому что еще на этапе создание обьекта она отбрасывает повторы, это заложено в самой логике обьекта типа set. но никак не заслуга вашего алгоритма.
Программа и подсчитывает их как 4.
bulygin69Это я понял,но я не вижу чтобы это использовалось. Придумайте набор вводных данных при котором “то, что не равно себе, то ноль”, практически по критерию Поппера, и тогда станет понятно правильно ли работает ваша программа или нет, . Иначе это просто лишняя проверка, которая в любом случае даст положительный результат, а значит ее можно выбросить.
Еще раз: То, что не равно себе, то ноль. То, что равно себе, то один. Это и используется.
RodegastНаоборот, множество натуральных чисел задаётся аксиомами Пеано. Это упорядоченное множество с самого начала.
А тебя не смущает что аксиомы Пеано определяются посредством ℕ.
PEHDOMНет. Важно как раз то, как однозначно выразить что-то. Мне нужно выразить именно False, а не “мог быть отличным от False”
имела бы смысл, если бы мы могли представить ситуацию при которой результат мог бы быть отличным от False.
PEHDOMРечь идет о логике, а не коде, который максимально по времени и памяти оптимизирован.
В данном случае ваше y = (False == False and False != False) не имеет никакого смысла кроме сакрального, и являеться лишним. Это типичный пример индусского кода когда простые вещи делаются через задницу. зачем на это тратить процессорное время?
PEHDOMПерефразирую. Другие языки еще не додумали, что True - это 1, False - это 0
Вы путаете причину и следствие, True - это 1 потому что так решили программисты придумавше пайтон. В другом ЯП True False может иметь иное значение, или к нему будут неприменимы арифметические операции.
PEHDOM
Это я понял,но я не вижу чтобы это использовалось. Придумайте набор вводных данных при котором “то, что не равно себе, то ноль”, и тогда станет понятно правильно ли работает ваша программа или нет
def f(s, x): #важно показать логику, #поэтому такую конструкцию не используем: #if x in s: # return True for i in s: if x == i: return True #элемент Х равен себе (одно Х) return False #элемента Х нет (ноль Х) s = [2, 5, 7, 3] print(f(s, 7)) #7==7, т.е. семь есть (одно семь) print(f(s, 9)) #9!=9, т.е. девяти нет (ноль девяти) #(каждый элемент из s равен 9), что ложно #т.е. всегда (9 не-равно 9), что ложно #т.к. (Х не-равен Х) == (Х равно не-Х)
RodegastДостаточно взять False и подставить в алгебраические св-ва нуля. False в них дает тот же результат? Да.
> Мат. логика работает с истиной и ложью.
Да, она работает с эти и ни с чем более. False это не 0, как и не пустое множество. Неужели это так сложно понять?
1) 0 — целое число;
False — не число.
2) Ноль является чётным числом, поскольку при делении его на 2 получается целое число;
Для False деление даже не определено.
3) На числовой прямой 0 разделяет положительные и отрицательные числа.
Поскольку False не число, то на числовой прямой его вообще нет.
4) Любое число при сложении с нулём не меняется
Арифметическая операция сложения для False не определена.
5) При вычитании нуля из любого числа получается то же число.
Операция вычитания для False не определена.
6) Умножение любого числа на ноль даёт ноль
Арифметическая операция умножения для False не определена.
7) При делении нуля на любое ненулевое число получается ноль
Операция деления для False не определена.
Rodegast
1) 0 — целое число;
False — не число.
2) Ноль является чётным числом, поскольку при делении его на 2 получается целое число;
Для False деление даже не определено.
3) На числовой прямой 0 разделяет положительные и отрицательные числа.
Поскольку False не число, то на числовой прямой его вообще нет.
4) Любое число при сложении с нулём не меняется
Арифметическая операция сложения для False не определена.
5) При вычитании нуля из любого числа получается то же число.
Операция вычитания для False не определена.
6) Умножение любого числа на ноль даёт ноль
Арифметическая операция умножения для False не определена.
7) При делении нуля на любое ненулевое число получается ноль
Операция деления для False не определена.
print("\n__поверяем арифметику с False") print("Любое число при сложении с нулём не меняется") print(False + 5) #5 т.е. сумма числа False c числом дает это же число print("При вычитании нуля из любого числа получается то же число") print(5 - False) #5 т.е. вычитание False не меняет число print("Умножение любого числа на ноль даёт ноль") print(5*False) #0 т.е. умножение числа на False дает ноль print("При делении нуля на любое ненулевое число получается ноль") print(False/5) #0 т.е. при деление False на число получаем ноль
print("\n__Логическое И") print(0 and 0) #0 print(1 and 0) #0 print(0 and 1) #0 print(1 and 1) #1 print("\nтоже") print(0!=0 and 0!=0) #False print(0==0 and 0!=0) #False print(0!=0 and 0==0) #False print(0==0 and 0==0) #True print("\n__Логическое ИЛИ") print(0 or 0) #0 print(1 or 0) #1 print(0 or 1) #1 print(1 or 1) #1 print("\nтоже") print(0!=0 or 0!=0) #False print(0==0 or 0!=0) #True print(0!=0 or 0==0) #True print(0==0 or 0==0) #True