如何在Python中获取整数的符号?


简介

Python整数是主要的數據類型之一,几乎用于所有主要的数学和逻辑运算。在Python中,整数是零、正或负整数,没有小数部分,精度无限。它们可以用二进制、八进制和十六进制表示。在本文中,我们将学习如何获取整数的符号。

使用的方法

  • 使用简单的数学比较与零

  • 使用math模块的copysign()函数

  • 使用numpy.sign()函数

  • 使用abs()函数创建方法

方法1:使用与零的数学比较

我们可以使用正数和负数的基本数学定义来查找给定整数的符号。我们使用基本的if-else结构来确定数字的符号。

语法

if number>0 return 1
else if number<0 return -1
else return 0

在这种方法中,我们使用级联的if-else-if结构,在整数数轴上的零点创建一个决策点。如果用户输入的数字大于零,程序返回+1;如果小于零,程序返回-1;如果为零,程序返回零作为答案。

算法

步骤1 - 获取用户输入,确定要确定符号的整数

步骤2 - 创建一个'if'语句,初始条件是如果输入数字大于零,则函数返回1

步骤3 - 创建一个级联'else-if'条件,如果输入数字小于零,则返回-1

步骤4 - 创建一个最终的'else'条件,如果输入数字为零,则函数返回零

示例

def solution(number):
   if (number>0):
      return 1
   elif (number<0):
      return -1
   else:
      return 0

val =-2
sol = solution(val)
print(sol) 

输出

-1

方法2:使用math模块的copysign()函数

math模块中的copysign()函数返回第一个参数的值,其符号与第二个参数的符号相同。因此,我们将1作为第一个参数来查找作为第二个参数输入的整数的符号。此函数可以处理整数、浮点数以及正负NaN的值。

语法

return copysign(1,number)

要执行此操作,我们需要调用copysign函数。作为参数,我们需要传递两个数字,函数将第一个数字的幅度和第二个数字的符号作为单个数字返回。

算法

步骤1 - 导入math模块

步骤2 - 从用户处获取要确定其符号的整数输入

步骤3 - 根据给定的语法,将整数作为第二个参数传递给copysign()函数

示例

import math
def solution(number):
   return int(math.copysign(1,number))
val = -2
sol = solution(val)
print(sol) 

输出

-1

方法3:使用numpy.sign()函数

numpy模块提供了一个sign()函数,可用于确定整数的符号。这非常有用,因为Python的math库中没有默认的sign()函数。它可以用于整个整数数组,以逐元素显示符号。

语法

numpy.sign(array [], out)

语法非常简单,它调用sign函数并传递两个参数。只有第一个参数是必需的,第二个参数是可选的。第一个参数传递元素数组,第二个参数是带有结果的输出数组。

算法

步骤1 - 导入numpy模块

步骤2 - 获取需要确定符号的数组中的输入元素

步骤3 - 调用sign()函数并传递包含目标元素的数组

步骤4 - 显示输出值,即整数的符号

示例

import numpy as user #importing numpy
array=[25, -25, 0] #input array
print("input array : ", array) #input array with elements
print("Check sign of array : ", user.sign(array)) #signs of elements

输出

input array: [25 -25 0]
Check sign of array: [1 -1 0]

方法4:使用abs()函数创建方法

我们可以使用abs()函数来定义一个返回整数符号的sign函数。abs()函数返回数字的绝对值。

语法

return x/abs(x) 

这里我们将整数除以其绝对值来查找整数的符号。由于这里我们除以两个整数,因此函数返回一个浮点值,但是它适用于整数。

算法

步骤1 - 定义一个函数

步骤2 - 将要确定其符号的数字作为参数传递给函数

步骤3 - 创建一个'if-else'结构来检查输入整数是否为零

步骤4 - 通过将整数除以其绝对值来显示输出值

示例

def int_sign(x):
   if (x==0): return 0
   else: return x/abs(x)
num=-2
print(int_sign(num))    

输出

-1.0

结论

在本文中,我们讨论了一些方法,可以通过这些方法找到用户提供的或程序中设置的整数的符号。本文通常是针对Python编写的,但是类似的方法也适用于不同的编程语言。

更新于:2023年3月24日

12K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.