相关疑难解决方法(0)

Python问题与return语句

您好我是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".我错过了什么吗?

python return

3
推荐指数
1
解决办法
259
查看次数

为什么python不返回布尔值

我有这个小函数,它接受两个整数a,b并检查是否ab提升到某个指数.这是代码.

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无论我输入什么,这总是会返回.

但是如果我用打印替换所有返回,那么它们会给出正确的结果,即TrueFalse.

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)

为什么会这样?这可能是一个菜鸟问题,但我仍然无法想到它.谢谢

python python-2.7

0
推荐指数
2
解决办法
185
查看次数

标签 统计

python ×2

python-2.7 ×1

return ×1