有什么方法可以提取 Python 中的数字符号?
Any way to extract the sign of a number in Python?
我正在编写 Python 中的 Bolzano 算法。这是我现在的代码:
def Bolzano(fonction, a, b, tol=0.000001):
while abs(b-a)>tol:
m=(a+b)/2
if cmp(fonction(m))==cmp(fonction(a)):
a=m
else:
b=m
return a, b
在遇到无法识别的 cmp 之前一直有效。但是我看不到另一种方法,因为 Python 没有符号功能。还有其他方法可以提取数字的符号吗?
Is there any other way to extract the sign of a number?
自己写一个怎么样?
实施
def sign(num):
return -1 if num < 0 else 1
例子
>>> sign(10)
1
>>> sign(-10)
-1
Ohh 和 cmp 是一个内置函数,需要两个参数(数字)并简单地比较它们并检查哪个更大。你应该按如下方式使用它
def Bolzano(fonction, a, b, tol=0.000001):
while abs(b-a)>tol:
m=(a+b)/2
if cmp(fonction(m), fonction(a)) == 0:
a=m
else:
b=m
return a, b
也许使用:
if cmp(fonction(m),fonction(a)) == 0:
def same_sign(a, b):
return (a * b) >= 0
示例:
>>> same_sign(3, 4)
True
>>> same_sign(-3, 4)
False
>>> same_sign(3, -4)
False
>>> same_sign(-3, -4)
True
>>> same_sign(-3, 0)
True
我正在编写 Python 中的 Bolzano 算法。这是我现在的代码:
def Bolzano(fonction, a, b, tol=0.000001):
while abs(b-a)>tol:
m=(a+b)/2
if cmp(fonction(m))==cmp(fonction(a)):
a=m
else:
b=m
return a, b
在遇到无法识别的 cmp 之前一直有效。但是我看不到另一种方法,因为 Python 没有符号功能。还有其他方法可以提取数字的符号吗?
Is there any other way to extract the sign of a number?
自己写一个怎么样?
实施
def sign(num):
return -1 if num < 0 else 1
例子
>>> sign(10)
1
>>> sign(-10)
-1
Ohh 和 cmp 是一个内置函数,需要两个参数(数字)并简单地比较它们并检查哪个更大。你应该按如下方式使用它
def Bolzano(fonction, a, b, tol=0.000001):
while abs(b-a)>tol:
m=(a+b)/2
if cmp(fonction(m), fonction(a)) == 0:
a=m
else:
b=m
return a, b
也许使用:
if cmp(fonction(m),fonction(a)) == 0:
def same_sign(a, b):
return (a * b) >= 0
示例:
>>> same_sign(3, 4)
True
>>> same_sign(-3, 4)
False
>>> same_sign(3, -4)
False
>>> same_sign(-3, -4)
True
>>> same_sign(-3, 0)
True