2016-07-25 88 views
0

我错过了这里的东西。
下面函数运行 “b” 的flawlessly.It检查值用于奇数或偶数由
表达(B%2)* 2 == b,然后升高 “一” 上电 “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

回答

0

实在不好意思没人接。我不知道我是如何在这里结束的,但是你的偶数检查器显然是错误的。

你想要做的是:

b % 2 == 0 

如果这是真的,它甚至。如果是假的,那很奇怪。