Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 22, 2018 12:27:53

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

Числа и предикат равенства Х=Y

Rodegast
Нет. ℕ это не упорядоченное множество.
Множество ℕ формируется через набор аксиом Пеано, начиная с единицы.
Почитай подробно.
Оно просто не может быть неупорядоченным.



Офлайн

#2 Ноя. 22, 2018 12:58:09

bulygin69
Зарегистрирован: 2018-11-18
Сообщения: 43
Репутация: +  0  -
Профиль   Отправить e-mail  

Числа и предикат равенства Х=Y

Rodegast
Ты же берёшь заведомо ложное высказывание
Мат. логика работает с истиной и ложью. Чтобы выразить ложь, необходимо ложное высказывание, а не истинное. Ложное можно получить так: X!=X. Пустое множество именно так и задается.

Офлайн

#3 Ноя. 22, 2018 13:10:04

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Числа и предикат равенства Х=Y

bulygin69
Мог бы. Но это бы не отображало смысл, что:
а оно и так не отображает. Видите ли то что верно для математики может быть неверно для програмирования. В конечном итоге програмированию, в отличии от математики, не важно как вы получили то что y=False если оно у вас False ВСЕГДА. строка y = (False == False and False != False) имела бы смысл, если бы мы могли представить ситуацию при которой результат мог бы быть отличным от False.
В данном случае ваше y = (False == False and False != False) не имеет никакого смысла кроме сакрального, и являеться лишним. Это типичный пример индусского кода когда простые вещи делаются через задницу. зачем на это тратить процессорное время?
bulygin69
Имеем если (Х!=Х),то (ноль Х)
Да ,это понятно, возможно с точки зрения математики это имеет смысл но не с точки зрения программирования. Это допустимо только если мы можем допустить ситуацию когда (Х!=Х). но такая ситуация никогда не возможна в принципе, значит эта строчка в коде лишняя, это просто еще один кусок индусского кода, котрый просто зря тратит процессорное время. С таким же успехом вы можете писать “while 2+2 == 4:” вместо “while True:”. Формально и то и то правильно, но никто не пишет первый вариант, (кроме индусов, естественно), так как понимают что подобное ничего не даст кроме того что процессору понадобиться пара лишних тактов для обработки комманды.
bulygin69
если (Х==Х), то это (одно Х)
А возможны иные ситуации? приведите тогда такой набор входных данных при котороых X!=X чтобы проверить верновть работы вашей программы.
bulygin69
Правильно! Это лишний раз доказывает, что True - это 1.
Вы путаете причину и следствие, True - это 1 потому что так решили программисты придумавше пайтон. В другом ЯП True False может иметь иное значение, или к нему будут неприменимы арифметические операции.
bulygin69
Программа и подсчитывает их как 4.
конечно потому что еще на этапе создание обьекта она отбрасывает повторы, это заложено в самой логике обьекта типа set. но никак не заслуга вашего алгоритма.
bulygin69
Еще раз: То, что не равно себе, то ноль. То, что равно себе, то один. Это и используется.
Это я понял,но я не вижу чтобы это использовалось. Придумайте набор вводных данных при котором “то, что не равно себе, то ноль”, практически по критерию Поппера, и тогда станет понятно правильно ли работает ваша программа или нет, . Иначе это просто лишняя проверка, которая в любом случае даст положительный результат, а значит ее можно выбросить.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Ноя. 22, 2018 13:24:58)

Офлайн

#4 Ноя. 22, 2018 13:48:48

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2683
Репутация: +  182  -
Профиль   Отправить e-mail  

Числа и предикат равенства Х=Y

> Множество ℕ формируется через набор аксиом Пеано, начиная с единицы.

А тебя не смущает что сами аксиомы Пеано определяются посредством ℕ?

> Мат. логика работает с истиной и ложью.

Да, она работает с эти и ни с чем более. False это не 0, как и не пустое множество. Неужели это так сложно понять?



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Ноя. 22, 2018 14:17:24)

Офлайн

#5 Ноя. 22, 2018 14:21:48

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

Числа и предикат равенства Х=Y

Rodegast
А тебя не смущает что аксиомы Пеано определяются посредством ℕ.
Наоборот, множество натуральных чисел задаётся аксиомами Пеано. Это упорядоченное множество с самого начала.



Офлайн

#6 Ноя. 22, 2018 15:08:46

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2683
Репутация: +  182  -
Профиль   Отправить e-mail  

Числа и предикат равенства Х=Y

> Наоборот, множество натуральных чисел задаётся аксиомами Пеано. Это упорядоченное множество с самого начала.

Ну это ты своей бабушке рассказывать будешь.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#7 Ноя. 22, 2018 15:35:34

bulygin69
Зарегистрирован: 2018-11-18
Сообщения: 43
Репутация: +  0  -
Профиль   Отправить e-mail  

Числа и предикат равенства Х=Y

PEHDOM
имела бы смысл, если бы мы могли представить ситуацию при которой результат мог бы быть отличным от False.
Нет. Важно как раз то, как однозначно выразить что-то. Мне нужно выразить именно False, а не “мог быть отличным от False”
PEHDOM
В данном случае ваше y = (False == False and False != False) не имеет никакого смысла кроме сакрального, и являеться лишним. Это типичный пример индусского кода когда простые вещи делаются через задницу. зачем на это тратить процессорное время?
Речь идет о логике, а не коде, который максимально по времени и памяти оптимизирован.
PEHDOM
Вы путаете причину и следствие, True - это 1 потому что так решили программисты придумавше пайтон. В другом ЯП True False может иметь иное значение, или к нему будут неприменимы арифметические операции.
Перефразирую. Другие языки еще не додумали, что True - это 1, False - это 0
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), что ложно
               #т.к. (Х не-равен Х) == (Х равно не-Х)

Офлайн

#8 Ноя. 22, 2018 15:44:06

bulygin69
Зарегистрирован: 2018-11-18
Сообщения: 43
Репутация: +  0  -
Профиль   Отправить e-mail  

Числа и предикат равенства Х=Y

Rodegast
> Мат. логика работает с истиной и ложью.

Да, она работает с эти и ни с чем более. False это не 0, как и не пустое множество. Неужели это так сложно понять?
Достаточно взять False и подставить в алгебраические св-ва нуля. False в них дает тот же результат? Да.
Достаточно подставить 0 в логические формулы. Ноль в них дает тот же результат? Да.

Следовательно, False - это 0

Офлайн

#9 Ноя. 22, 2018 16:09:10

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2683
Репутация: +  182  -
Профиль   Отправить e-mail  

Числа и предикат равенства Х=Y

> Достаточно взять False и подставить в алгебраические св-ва нуля.

Ну если ты такой упёртый, то давай подставим. (см. https://ru.wikipedia.org/wiki/0_(число))

1) 0 — целое число;
False — не число.
2) Ноль является чётным числом, поскольку при делении его на 2 получается целое число;
Для False деление даже не определено.
3) На числовой прямой 0 разделяет положительные и отрицательные числа.
Поскольку False не число, то на числовой прямой его вообще нет.
4) Любое число при сложении с нулём не меняется
Арифметическая операция сложения для False не определена.
5) При вычитании нуля из любого числа получается то же число.
Операция вычитания для False не определена.
6) Умножение любого числа на ноль даёт ноль
Арифметическая операция умножения для False не определена.
7) При делении нуля на любое ненулевое число получается ноль
Операция деления для False не определена.
Ну и т.д. я думаю что этого достаточно.

С подстановкой 0 в логические формулы будет аналогичная ситуация.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Ноя. 22, 2018 16:10:42)

Офлайн

#10 Ноя. 22, 2018 16:35:18

bulygin69
Зарегистрирован: 2018-11-18
Сообщения: 43
Репутация: +  0  -
Профиль   Отправить e-mail  

Числа и предикат равенства Х=Y

Rodegast
1) 0 — целое число;
False — не число.
2) Ноль является чётным числом, поскольку при делении его на 2 получается целое число;
Для False деление даже не определено.
3) На числовой прямой 0 разделяет положительные и отрицательные числа.
Поскольку False не число, то на числовой прямой его вообще нет.
4) Любое число при сложении с нулём не меняется
Арифметическая операция сложения для False не определена.
5) При вычитании нуля из любого числа получается то же число.
Операция вычитания для False не определена.
6) Умножение любого числа на ноль даёт ноль
Арифметическая операция умножения для False не определена.
7) При делении нуля на любое ненулевое число получается ноль
Операция деления для False не определена.

Арифметика 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

P.S. То, что в некоторых языках это не так, только говорит лишь о том, что пока в этих языках еще не так.

Отредактировано bulygin69 (Ноя. 22, 2018 16:38:08)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version