您好我是python的新手,想知道您是否可以帮助我.我一直在玩这个代码,似乎无法让它工作.
import math
def main():
if isPrime(2,7):
print("Yes")
else:
print("No")
def isPrime(i,n):
if ((n % i == 0) and (i <= math.sqrt(n))):
return False
if (i >= math.sqrt(n)):
print ("is Prime: ",n)
return True
else:
isPrime(i+1,n)
main()
Run Code Online (Sandbox Code Playgroud)
现在isPrime方法的输出如下:
is Prime: 7
No
Run Code Online (Sandbox Code Playgroud)
我确定该函数应该返回true然后它应该打印"Yes".我错过了什么吗?
我有这个小函数,它接受两个整数a,b并检查是否a被b提升到某个指数.这是代码.
def is_power(a,b):
if not a%b==0:
return a%b==0
elif a/b==1:
return a/b==1
else:
a = a/b
is_power(a,b)
print is_power(,)
Run Code Online (Sandbox Code Playgroud)
问题是,None无论我输入什么,这总是会返回.
但是如果我用打印替换所有返回,那么它们会给出正确的结果,即True或False.
def is_power(a,b):
if not a%b==0:
print a%b==0
elif a/b==1:
print a/b==1
else:
a = a/b
is_power(a,b)
is_power(,)
Run Code Online (Sandbox Code Playgroud)
为什么会这样?这可能是一个菜鸟问题,但我仍然无法想到它.谢谢