def if_powerof_3(n):
var = None
power = 0
if n % 3 == 0:
while var == 1:
var = n / 3
power = power + 1
if not var % 3 == 0:
return "{} is not a power of 3".format(n)
break
else:
n = var
else:
return "{} is a power of 3".format(n)
else:
return "{} is not a power of 3".format(n)
print if_powerof_3(18)
输出:18是3的幂
这是完全出乎意料的和错误的输出显然,但无法计算出哪里是我的代码去逻辑错误和打印一个数学上不正确的输出
https://gist.github.com/bondnotanymore/9afc91cb1730c9b9f637326fafc69371
这是一段经过改进的代码,增加了一点健壮性。你知道吗
输出
进程已完成,退出代码为0
你为什么要用这么多,如果可以做得这么简单的话
相关问题 更多 >
编程相关推荐