Python 如何找到大于x的最小数字

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() (最小整数函数)的异常情况。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程