【发布时间】:2016-07-25 10:50:51
【问题描述】:
我在这里遗漏了一些东西。
下面的函数运行完美。它检查“b”的值是奇数还是偶数
表达式 (b%2)*2 == b,然后将 "a" 提升为 "b" 的幂。
我在“b”的多个值上检查了这个表达式。
它是 0 或 1,分别取决于偶数或奇数。
我找不到 (b%2)*2 == b 为真的数字。
但是代码仍然可以完美运行。
谁能解开我的困惑?
def expo(a,b): # a to the power b
if b == 1:
return a
if (b%2)*2 == b:#checking even or odd
return expo(a*a, b/2)
else: return a*expo(a,b-1)
x=expo(8,2)
print x
x=expo(8,3)
print x
谢谢 pkj
【问题讨论】:
标签: modulus