当函数返回值时,Java和Python的区别

时间:2017-06-03 04:21:16

标签: java python-3.5

Java代码: -

int check_prime()//Function to check if a number is a prime number
{
    int n = Integer.parseInt(br.readLine());//Number to be checked
    for(int i=2;i<n;i++)
    {
        if(n%i==0)
        {
            return 0;
        }
    }
    return 1;
}

Python中的代码: -

def check_prime():#Function to check if a number is a prime number
n1=input("Enter the number")#Number to be checked
n=int(n1)
for i in range(2,n,1):
    if n%i==0:
        return False
return True

在Java中,只要Function返回一个值,它就会终止自身并且不会执行任何进一步的语句。因此,如果数字不是素数,则返回0并停止。 同样的事情也会在python中发生吗?因为据我所知,它没有发生。 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

你的for循环做了很多不同的事情。我相信你的python循环应该是:

for i in range(2, n):

由于你遗漏了范围生成器,你的循环通过元组(2,n,1)循环,而不是从2开始并在n之前停止的数字序列。您也不需要指定步骤参数。它默认为1。

return语句在两种语言中的工作方式相同:它终止了函数。

在Java中你应该使用一个布尔类型而不是int来表示真/假值。