Найти - Пользователи
Полная версия: Модуль без abs и if
Начало » Python для экспертов » Модуль без abs и if
1
Andrew22528
Здравствуйте, не могли бы вы подсказать, как взять модуль числа без if и abs?
Заранее спасибо.
ZerG
math.fabs не пойдет или у вас какая-то принципиальная задача?
JOHN_16
ВОобще модуль числа А в алгебре (вроде) есть арифметический корень из квадрата числа А. Дословная реализация в Питоне не даст желаемого результата так как сменится тип данных (из за операции sqrt )
 >>> from math import sqrt
>>> a = -3
>>> a_modulo = sqrt(a ** 2)
>>> a_modulo
3.0
Решить проблему можно явно - приведением к исходному типу:
 >>> previous_type = type(a)
>>> previous_type(a_modulo)
Но думаю другие форумчане смогут предложить более рациональное решение.

Альтернативное решение (которое наверняка предложат новички) является операции со строками:
 >>> str(a).lstrip('-')
'3'
ну и также приводить к исходному типу нужно. А ну и оно таки бредовое, чего уж говорить.
4kpt_IV


 x < 0 and -x or x
JOHN_16
4kpt_IV
да да ) Вот именно подобное я хотел увидеть =)
4kpt_IV
JOHN_16

Я проникся твоим постом
doza_and
4kpt_IV
Я проникся твоим постом
А помоему уже надо банить студентов за посты со словами “сделать без использования”, да и преподов тоже. :).
Это оправдано только на убогих железках с убогим питоном. За все время припоминаю только один пост такого типа. Остальное все игры разума.
PooH
doza_and
А помоему уже надо банить студентов за посты со словами “сделать без использования”, да и преподов тоже. :).
Может люди к параолимпиаде по программированию готовятся ;)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB