【问题标题】:Difference in Java And Python when functions return values函数返回值时Java和Python的区别
【发布时间】:2017-11-04 12:45:15
【问题描述】:

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 中吗?因为据我所知,它没有发生。 感谢您的帮助

【问题讨论】:

  • 与其严格测试,不如看代码。功能上是一样的吗?如果是,它会做同样的事情。
  • 在 Java 中不能使用 return 作为方法名。这是一个保留字。
  • 是的,我很抱歉那个洛根。
  • @Ritesh_BM 没问题。我只是通知你。

标签: java python-3.5


【解决方案1】:

您的 for 循环正在做非常不同的事情。我相信你的 python 循环应该是:

for i in range(2, n):

由于您省略了范围生成器,因此您的循环循环遍历元组 (2, n, 1),而不是从 2 开始并在 n 之前停止的数字序列。您也不需要指定 step 参数。默认为 1。

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

Java 中还有一个布尔类型,您应该使用它来代替 int 来表示真/假值。

【讨论】:

  • 是的,我很抱歉。
猜你喜欢
  • 2018-04-03
  • 2014-07-30
  • 1970-01-01
  • 1970-01-01
  • 2023-01-10
  • 2011-05-24
  • 1970-01-01
  • 1970-01-01
  • 2014-02-23
相关资源
最近更新 更多