如何在Python中查找大于x的最小数?
在本文中,我们将向您展示如何在Python中查找大于x的最小数。
Python中ceil函数介绍
Ceil是Python的math模块中的一个函数,包含在Python标准库中。在数学中,它与最小整数函数或上取整函数相同。
如果您给定一个实数x,ceil(x)在数学符号中表示为⌈x⌉,其中括号的上方向对应于上取整运算(因为天花板位于您的头顶)。
相反,floor(x)(返回最大整数≤x)用⌊x⌋表示,其中向下符号表示下取整运算。
使用分段定义,ceil(x) =
x, ifx∈Z ⌊x+1⌋, ifx∉Z
ceil() 函数
在Python中,ceil(x)方法返回大于或等于x的最小整数。它被称为x的上取整值。
语法
import math math.ceil(x)
参数
x − 任何实数
返回值 − 返回不小于x的最小整数。
两种调用ceil()函数的方法
根据您已导入到Python应用程序中的内容,您可以通过两种方式调用ceil()方法。
如果您导入了整个math模块而不是仅仅是函数,则必须使用点(.)运算符来访问ceil()函数(因为它是在math模块中定义的)。如果y是我们的输出变量,x是我们的数值输入变量,则格式如下:
y= math.ceil(x)
如果您使用math模块导入了ceil()函数,则调用函数的语法将变得更容易,如下所示:
y= ceil(x)
如果您还导入了另一个模块,该模块有其自身定义的ceil()(可能出于相同目的,也可能出于不同目的),则必须使用第一种方法来避免歧义。
示例
算法(步骤)
以下是执行所需任务的算法/步骤:
使用import关键字导入math模块。
使用math.ceil()函数获取数字的上取整值,即通过将数字作为参数传递给它来获取大于或等于该数字的最小整数。
示例
以下程序使用math.ceil()函数返回上取整值,即大于或等于x的最小整数:
# importing math module import math # getting the ceiling value of numbers using math.ceil() print("The Smallest Integer Greater than -12.11 is:", math.ceil(-12.11)) print("The Smallest Integer Greater than 50.26 is:", math.ceil(50.26)) print("The Smallest Integer Greater than 30.5 is:", math.ceil(30.5)) print("The Smallest Integer Greater than 1.1 is:", math.ceil(1.1))
输出
执行上述程序后,将生成以下输出:
The Smallest Integer Greater than -12.11 is: -12 The Smallest Integer Greater than 50.26 is: 51 The Smallest Integer Greater than 30.5 is: 31 The Smallest Integer Greater than 1.1 is: 2
使用int()函数的最小整数函数
算法(步骤)
以下是执行所需任务的算法/步骤:
检查传递的数字是否大于0,如果为真,则使用int()函数(从给定对象返回整数)+1返回传递数字的整数格式。这将返回大于给定参数的最小数。
否则返回数字的整数格式。
通过将数字作为参数传递来调用smallestInteger()函数,并打印其返回的数字的最小整数函数值。
同样,查找其他数字并观察变化。
示例
以下程序使用int()函数返回上取整值,即大于或等于x的最小整数:
# creating a function that returns by taking the given number # as an argument def smallestInteger(n): # Checking if the number is greater than 0 if(n>=0): # Return the integer format of the given number+1 return int(n)+1 # Else if it is a negative number else: # Return the integer format return int(n) # calling the smallestInteger() function by passing given number as an argument print('The Smallest Integer Greater than 5.2 is:',smallestInteger(5.2)) print('The Smallest Integer Greater than 0.2 is:',smallestInteger(0.2)) # Negative Number print('The Smallest Integer Greater than -5.2 is:',smallestInteger(-5.2))
输出
执行上述程序后,将生成以下输出:
The Smallest Integer Greater than 5.2 is: 6 The Smallest Integer Greater than 0.2 is: 1 The Smallest Integer Greater than -5.2 is: -5
传递无效参数时的异常情况
正如我们在上一节中看到的,Python中的ceil()接受单个数值参数。在Python中,数值类型包括int、float和complex,但是只有实数类型int和float被允许作为ceil()的输入参数。
因为布尔值是int的子类型,所以True和False值也将被接受为输入。事实上,Python ceil()将分别将其视为1和0。
传递字符串作为输入
以下程序返回TypeError,因为ceil()函数不接受字符串作为输入:
# importing math module import math # passing the input as string # returns a TypeError print(math.ceil("2.3"))
输出
执行上述程序后,将生成以下输出:
Traceback (most recent call last): File "main.py", line 6, inprint(math.ceil("2.3")) TypeError: must be real number, not str
传递列表作为输入
以下程序返回TypeError,因为ceil()函数不接受列表作为输入:
# importing math module import math # input list list = [1,2,3] # passing the input as list # returns a TypeError print(math.ceil(list))
输出
执行上述程序后,将生成以下输出:
Traceback (most recent call last): File "main.py", line 9, inprint(math.ceil(list)) TypeError: must be real number, not list
结论
在本文中,我们学习了两种在Python中查找大于x的最小数的方法。我们还通过示例学习了ceil()(最小整数函数)的异常情况。