Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:为什么return实际上不返回我能看到的任何东西_Python_Python 2.7 - Fatal编程技术网

Python:为什么return实际上不返回我能看到的任何东西

Python:为什么return实际上不返回我能看到的任何东西,python,python-2.7,Python,Python 2.7,我有以下代码: def is_prime(n): limit = (n**0.5) + 1 q = 2 p = 1 while p != 0 and q < limit: p = n % q q = q + 1 if p == 0 and n != 2: return 'false' else: return 'true' def为素数(n):

我有以下代码:

def is_prime(n):
    limit = (n**0.5) + 1
    q = 2
    p = 1
    while p != 0 and q < limit:
        p = n % q
        q = q + 1
        if p == 0 and n != 2:
            return 'false'
        else:
            return 'true'
def为素数(n):
限值=(n**0.5)+1
q=2
p=1
而p!=0和q<极限:
p=n%q
q=q+1
如果p==0且n!=2:
返回“false”
其他:
返回“true”
但是当我发送一个整数时,没有返回任何内容。控制台只是转到一个新的命令行。这里怎么了

编辑1: 以下是不同场景的屏幕截图。我希望使用一个特定的数字调用函数,函数将根据发送到函数中的数字的素性返回'true'或'false'。我想我对返回函数不是很了解

另外,请注意,当我发送到测试9时,它返回true,尽管9绝对是一个复合数……if/else位是否应该在while循环之外

下图的关键点:

1:这是上面的代码,以及我在Spyder控制台中如何调用它

2:在函数外部添加打印语句

3:这是教授提供的一个简单的阶乘函数

编辑2:

我快速更改了代码的结构。我真的不明白为什么这会使它工作,但将if/else语句置于while循环之外会导致预期的真/假输出

def is_prime(n):
    limit = (n**0.5)+1
    q=2
    p=1
    while p!=0 and q<limit:
        p = n%q
        q = q+1
    if p==0 and n!=2:
        return 'false'
    else:
        return 'true'
def为素数(n):
限值=(n**0.5)+1
q=2
p=1

而p=0和q如果要在控制台上打印内容,必须使用打印语句。return关键字意味着您可以在调用此函数的代码段中使用此值。所以要打印一些东西:

print (x)

有关print语句的更多信息,请参见:

没有问题,但您必须打印出函数的返回值。 像这样:

def Test():
    if True:
        return "Hi"

print(Test())

在本例中,python将在控制台中显示“Hi”。

对于初学者,请修复缩进。然后,一步一步地运行,并查看每行中每个变量的值。因为您可能需要打印返回值,假设您甚至调用了该函数。我使用附加的print语句测试了您的代码,除了
n=1
,一切正常。如果不进入循环,您的函数将不返回任何值。究竟是什么问题还不清楚。向我们展示您如何运行代码。只要数字是2或更多,在解释器中交互运行时它对我有效。