Python divmod() 函数



**Python divmod() 函数**接受两个数字作为参数值,并返回一个包含两个值的元组,即它们的商和余数。

如果我们向**divmod()**函数传递非数字参数(例如字符串),则会遇到TypeError;如果将0作为第二个参数传递,则会返回ZeroDivisionError。

**divmod()**函数是内置函数之一,不需要导入任何模块。

语法

以下是 python **divmod()** 函数的语法。

divmod(dividend, divisor)

参数

Python **divmod()** 函数接受两个参数,如下所示:

  • **被除数** - 此参数指定要被除的数。

  • **除数** - 此参数表示被除数将被除以的数。

返回值

python **divmod()** 函数返回商和余数,作为一个元组

divmod() 函数示例

练习以下示例以了解如何在 Python 中使用**divmod()**函数

示例:divmod() 函数的使用

以下是一个 Python divmod() 函数的示例。在这里,我们将两个整数作为参数传递给 divmod() 函数,它将返回一个包含它们的商和余数的元组。

output = divmod(18, 5)
print("The output after evaluation:", output)

执行上述程序后,将生成以下输出:

The output after evaluation: (3, 3)

示例:带有负值的 divmod()

如果我们将负数传递给 divmod() 函数,它将返回商的地板值和余数,如下面的代码所示。

output = divmod(-18, 5)
print("The output after evaluation:", output)

执行上述程序后,将获得以下输出:

The output after evaluation: (-4, 2)

示例:带有浮点值的 divmod()

Python 的 **divmod()** 函数也兼容浮点数。在下面的例子中,我们将浮点值作为参数传递给此函数,它将返回浮点类型的结果。

output = divmod(18.5, 5)
print("The output after evaluation:", output)

执行上述程序后,得到以下输出:

The output after evaluation: (3.0, 3.5)

示例:divmod() 函数的除零错误

当 divmod() 的第二个参数为 0 时,它将引发 ZeroDivisionError。在下面的代码中,我们将 0 作为除数,因此得到 ZeroDivisionError。

try:
   print(divmod(27, 0))
except ZeroDivisionError:
   print("Error! dividing by zero?")

执行上述程序后,显示以下输出:

Error! dividing by zero?

示例:将秒转换为小时、分钟和秒

在下面的代码中,我们演示了 Python 中 divmod() 函数的一个实际应用。在这里,我们将秒转换为小时和分钟。

secValue = 8762
hours, remainingSec = divmod(secValue, 3600)
minutes, seconds = divmod(remainingSec, 60)
print("The total time after evaluating seconds:")
print(f"{hours} hours, {minutes} minutes, {seconds} seconds"))

执行上述程序后,显示以下输出:

The total time after evaluating seconds:
2 hours, 26 minutes, 2 seconds
python_built_in_functions.htm
广告