如果数字完全相除,则使商为整数
Make quotient an integer if the number divides perfectly
如果两个数之间存在完美除法,我希望将结果转换为整数,但如果两个数字之间没有完美除法,则不应进行任何更改。
例如,6/2
给出结果 3.0
。由于这是完美除法,因此 3.0
应转换为 3
。另一方面,如果我有 14/4
,它给出结果 3.5
,它应该保持原样,因为还没有发生完美的划分。
这里的完美除法是指 a
除以 b
得到一个整数
此函数检查除法是否有余数。如果是,则不是整数。
def divide_and_conquer(a, b):
return a / b if a % b else a // b
这是有关如何实现该目标的分步解决方案
# the numbers
num = 34
divisor = 17
# do the division
modula = num//divisor # modulus
quotient = num/divisor # normal division
# check if division is perfect
if modula == quotient :
result = int(quotient)
else:
result = quotient
在python中,您可以使用//来除以整数,得到一个整数结果。您还可以使用 % 来确定两个数是否完全相除(% returns 余数,当且仅当两个数完全相除时余数始终为零)。要完成您的要求,只需:
a = 6
b = 2
if a % b == 0:
result = a // b
else:
result = a / b
也就是说,您也可以简单地 运行 标准除法并将结果也转换为整数...
result = a / b
if result % 1 == 0:
result = int(result)
但是,在这两种情况下,您可能想要检查您正在编码的内容的更广泛的上下文,因为如果变量有时是一种数据类型,而其他时候是不同的数据类型 - 最好在每种情况下都将该值保留为浮点数,直到您需要将其变为整数为止。
注意:在两个不完全整除的整数上使用“//”仍然会得到一个整数,因为 python 会简单地忽略余数。 6 // 4 = 1, 15 // 2 = 7.
您可以使用 //
除法得到 int
:
def divide(a, b):
return a / b if a % b else a//b
divide(2, 5) # 0.4 (float)
divide(10, 5) # 2 (int)
如果两个数之间存在完美除法,我希望将结果转换为整数,但如果两个数字之间没有完美除法,则不应进行任何更改。
例如,6/2
给出结果 3.0
。由于这是完美除法,因此 3.0
应转换为 3
。另一方面,如果我有 14/4
,它给出结果 3.5
,它应该保持原样,因为还没有发生完美的划分。
这里的完美除法是指 a
除以 b
得到一个整数
此函数检查除法是否有余数。如果是,则不是整数。
def divide_and_conquer(a, b):
return a / b if a % b else a // b
这是有关如何实现该目标的分步解决方案
# the numbers
num = 34
divisor = 17
# do the division
modula = num//divisor # modulus
quotient = num/divisor # normal division
# check if division is perfect
if modula == quotient :
result = int(quotient)
else:
result = quotient
在python中,您可以使用//来除以整数,得到一个整数结果。您还可以使用 % 来确定两个数是否完全相除(% returns 余数,当且仅当两个数完全相除时余数始终为零)。要完成您的要求,只需:
a = 6
b = 2
if a % b == 0:
result = a // b
else:
result = a / b
也就是说,您也可以简单地 运行 标准除法并将结果也转换为整数...
result = a / b
if result % 1 == 0:
result = int(result)
但是,在这两种情况下,您可能想要检查您正在编码的内容的更广泛的上下文,因为如果变量有时是一种数据类型,而其他时候是不同的数据类型 - 最好在每种情况下都将该值保留为浮点数,直到您需要将其变为整数为止。
注意:在两个不完全整除的整数上使用“//”仍然会得到一个整数,因为 python 会简单地忽略余数。 6 // 4 = 1, 15 // 2 = 7.
您可以使用 //
除法得到 int
:
def divide(a, b):
return a / b if a % b else a//b
divide(2, 5) # 0.4 (float)
divide(10, 5) # 2 (int)