Форум сайта python.su
Нужно убрать минус в числе без использования abs, math или сплайсов в строке и тому подобное.
Вероятно подразумевается использование format в print. Но я что-то не могу найти подходящий оператор.
Может возможно математическое решение?
Какие есть варианты?
Офлайн
экземпляр где
Nevа так -2 * -1
возможно математическое решение
Отредактировано AD0DE412 (Ноя. 19, 2022 16:22:44)
Офлайн
Прошу прощения, вопрос не полный. Дополняю.
На входе два числа, одно из другого вычитается. В результате нужно получить abs(число). Но входящие числа идут в разнобой. Проверить какое из них меньше так же нельзя.
Таким образом число может быть как положительным, так и отрицательным, но результат всегда должен быть положительным.
Офлайн
def alternative_abs(a, b): result = a - b return result * -1 if result <= 0 else result
Офлайн
>>> n = 2 - 4 >>> n = -n if n < 0 else n >>> n 2 >>> >>> >>> n = 2 - 4 >>> n = (n, -n)[n < 0] >>> n 2 >>>
Офлайн
отож оно еще более очивидно
этот момент не понимаю
(n, -n)[n < 0]
Отредактировано AD0DE412 (Ноя. 19, 2022 21:40:33)
Офлайн
AD0DE412Всегда было.
блин прикольно а когда это появялось?
AD0DE412Это называется кортеж из элементов, из которого берётся элемент по индексу ноль или один.
чет не встречаось ни разу и как это называется?
numbers.Integral
These represent elements from the mathematical set of integers (positive and negative).
There are two types of integers:
Integers (int)
These represent numbers in an unlimited range, subject to available (virtual) memory only. For the purpose of shift and mask operations, a binary representation is assumed, and negative numbers are represented in a variant of 2’s complement which gives the illusion of an infinite string of sign bits extending to the left.
Booleans (bool)
These represent the truth values False and True. The two objects representing the values False and True are the only Boolean objects. The Boolean type is a subtype of the integer type, and Boolean values behave like the values 0 and 1, respectively, in almost all contexts, the exception being that when converted to a string, the strings "False" or "True" are returned, respectively.
The rules for integer representation are intended to give the most meaningful interpretation of shift and mask operations involving negative integers.
[guest@localhost ~]$ pydoc3
pydoc - the Python documentation tool
pydoc3 <name> ...
Show text documentation on something. <name> may be the name of a
Python keyword, topic, function, module, or package, or a dotted
reference to a class or function within a module or module in a
package. If <name> contains a '/', it is used as the path to a
Python source file to document. If name is 'keywords', 'topics',
or 'modules', a listing of these things is displayed.
pydoc3 -k <keyword>
Search for a keyword in the synopsis lines of all available modules.
pydoc3 -p <port>
Start an HTTP server on the given port on the local machine. Port
number 0 can be used to get an arbitrary unused port.
pydoc3 -b
Start an HTTP server on an arbitrary unused port and open a Web browser
to interactively browse documentation. The -p option can be used with
the -b option to explicitly specify the server port.
pydoc3 -w <name> ...
Write out the HTML documentation for a module to a file in the current
directory. If <name> contains a '/', it is treated as a filename; if
it names a directory, documentation is written for all the contents.
[guest@localhost ~]$ pydoc3 -p 1234
Server ready at http://localhost:1234/
Server commands: [b]rowser, [q]uit
server>
Отредактировано py.user.next (Ноя. 19, 2022 23:50:21)
Офлайн
AD0DE412Операция if else не доступна.
Офлайн
py.user.nextОперации сравнения не доступны.
Офлайн
Nev
Операции сравнения не доступны.
Доступны: переменные, математические операции и все операции print.
>>> n = -2.0 >>> >>> n = (n * n) ** 0.5 >>> n 2.0 >>>
Отредактировано py.user.next (Ноя. 20, 2022 07:59:06)
Офлайн