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中,每当函数返回值时,它会终止自身,并且不会执行任何其他语句。因此,如果一个数字不是素数,它将返回0并停止。Python也会发生同样的事情吗?因为据我所能测试,这没有发生。感谢您的帮助
您的循环正在做截然不同的事情。我相信您的Python循环应该是:
for i in range(2, n):
由于您忽略了范围生成器,因此循环通过元组循环(2,n,1(,而不是从2开始并在n之前停止的数字序列。您也不需要指定步骤参数。默认情况下是1。
返回语句在两种语言中都以相同的方式工作:它终止函数。
另外,您应该使用的Java中的布尔类型,而不是代表true/false值。