我有这个目前为止,但我得到了逐字下面看到溢出错误。它似乎不喜欢prod = num_1 + num_ 2行,因为这是触发错误的原因。Python3:溢出,但我甚至没有分配值
def p_mult(num_1, num_2):
prod = 0
while num_2 != 0:
if (num_1%2 != 0): # is odd?
num_1 = (num_1-1)/2
num_2 = (2 * num_2) + num_2
prod = num_1 * num_2
elif (num_1%2 == 0): # is even?
num_1 = num_1/2
num_2 = 2 * num_2
prod = num_1 * num_2
return prod
,当我尝试我的模块,它在解释规定:... p_mult(3,38)
OverflowError: int too large to convert to float
我应该要设计一个农民乘法功能,但我必须执行看到的num_1
值进行检查,如果它是偶数还是奇数,如果连,
num_1 = num_1/2 while num_2 = 2 * num_2
然后执行乘法,并
if num_1 odd: num_1 = (num_1 -1)/2 and num_2 = (2 * num_2) + num_2
,然后执行乘法。
任何想法?