如何指定参数类型?

How to specify argument types?

我是一个 Python 新手,但我已经搜索了一个解决方案,但我被难住了。

我定义了一个接受多个参数的函数:

def func(arg1, arg2, arg3):

第一个参数将是一个字符串,但接下来的两个参数将始终是整数。我需要构建以下 for 循环。

for x in range(0, arg2 / 2):

问题是 arg2 默认键入 float,结果我得到以下信息:
TypeError: 'float' object cannot be interpreted as an integer

我试过:

for x in range(0, int(arg2) / 2): 

但出于某种原因,同样的事情发生了。如何指定 arg2 应作为整数,或者如何将其重新解释为整数?

尝试对整个公式进行舍入

for x in range(int(arg2/2)) 

在Python 3.x:

当你 arg2 / 2 你会得到一个浮动。如果你想要一个 int 试试 arg2 // 2

例如 2 / 2 = 1.02 // 2 = 1

但是你这样做会失去准确性,但既然你想要一个整数,我假设你无论如何都想向上或向下舍入。

在python中2.x/默认是int除法;要获得浮点数除法,您必须确保其中一个数字是浮点数。

已编辑: 正如@martineau 指出的那样,在 Python 2.x 和 3.x 中,如果分子或分母是浮点数,/ 将进行浮点除法并且 // 将产生浮点结果。要解决此问题,请将其转换为 int 或确保它是一个 int ... 2.0 / 2 = 1.02.0 // 2 = 1.02 / 2.0 = 1.02 // 2.0 = 1.0 2.5 / 2 = 1.252.0 // 2 = 1.02 / 2.5 = 0.82 // 2.5 = 0.0