这个程序有什么错误。用于在python中查找正数或负数
您可能期望模运算符也会给出负数作为可能的结果。但这不是Python中的默认情况(我的重点是): 模运算符总是产生一个与第二个操作数符号相同的结果(或零)这个程序有什么错误。用于在python中查找正数或负数,python,python-3.x,Python,Python 3.x,您可能期望模运算符也会给出负数作为可能的结果。但这不是Python中的默认情况(我的重点是): 模运算符总是产生一个与第二个操作数符号相同的结果(或零) -5%2#输出:1 因此,您基本上有两种选择(以我的首选顺序): 与零相比(它可读且简单,可能是最容易理解的代码,在其他语言中也有效): x=int(输入(“输入数字”)) 如果x>=0: 打印(“正片”) 其他: 打印(“负片”) 检查转换后的数字的字符串表示形式是否以减号开头(它也很简单,但比版本1更复杂): x=int(输入(“输入
-5%2#输出:1
因此,您基本上有两种选择(以我的首选顺序):
x=int(输入(“输入数字”))
如果x>=0:
打印(“正片”)
其他:
打印(“负片”)
x=int(输入(“输入数字”))
如果str(x).startswith(“-”):
打印(“负片”)
其他:
打印(“正片”)
math.fmod
获得与其他语言中模运算符类似的行为:
0
进行比较:
导入数学
x=int(输入(“输入数字”))
z=数学fmod(x,2)
如果z==0:
打印(“正片”)
其他:
打印(“负片”)
-1
进行比较:
导入数学
x=int(输入(“输入数字”))
z=数学fmod(x,2)
如果z==-1:
打印(“负片”)
其他:
打印(“正片”)
0
和-0
之间没有区别。这意味着没有简单的方法可以确保此代码按预期工作,如中所述,例如:
根据IEEE 754标准,负零和正零应与常用(数值)比较运算符(如C和Java的==运算符)进行相等的比较。在这些语言中,可能需要特殊的编程技巧来区分这两个值[…]
z
从来都不是负数。偶数x
为0,奇数x
为1(即使x
为负数)。这是否回答了您的问题?
x = int(input("Enter a number"))
#get input from the user as integer
z = x % 2
#store the input in z and find mod by 2
if z == -1:
#to find positive or negative
print("negative")
else:
print("positive")