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() 函数获取一个数字的向上取整值,即大于或等于该数字的最小整数,通过将该数字作为参数传递给它。
示例
下面的程序返回向上取整值,即大于或等于x的最小整数,使用 math.ceil() 函数 −
# 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的最小整数值,即大于或等于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
当传递无效参数时的异常情况
正如我们在前面的部分中看到的, ceil() 函数在Python中接受一个数值类型的参数。在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, in
print(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, in
print(math.ceil(list))
TypeError: must be real number, not list
结论
在本文中,我们学习了两种在Python中寻找大于x的最小数的方法。通过示例,我们还研究了ceil() (最小整数函数)的异常情况。