如何在 Python 中找到大于 x 的最小数?


在本文中,我们将向您展示如何在 Python 中找到大于 x 的最小数。

Python 中向上取整函数简介

向上取整 (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 的最小整数。

以两种方式调用 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, 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()(最小整数函数)的异常情况。

更新于: 2022-11-09

1K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告