划线打印值行:Python 3

时间:2018-10-03 15:05:30

标签: python python-3.x

鉴于下面的当前代码,我想知道如何使b值等于偶数的行穿过一条线。因此,例如,它将打印如下内容:3̶4̶2̶2̶或类似的内容。

a=int(input("Input first value: "))
b=int(input("Input second value: "))
def get_product(a, b):
product = 0
while b:
    if b % 2:
        product += a
    a *= 2
    b //=2
  return product
Prod=(get_product(a, b))
print(a,b)
while b>1:
   b=b//2
   a=a*2
   print(a,b)
print("Product: ",Prod)

1 个答案:

答案 0 :(得分:1)

您可以使用while循环来实现上述逻辑:

def get_product(a, b):
    product = 0
    while b:
        if b % 2:
            product += a
        a *= 2
        b //= 2
    return product

这样:

print(get_product(4, 6), 4 * 6)
print(get_product(13, 37), 13 * 37)
print(get_product(231, 67), 231 * 67)

将输出:

24 24
481 481
15477 15477