m0_61637220 2022-04-26 23:56 采纳率: 66.7%
浏览 20
已结题

检查是否是prime number,给出最简洁的写法

有个问题是 You need to write a function that checks whether if the number 写一个检查input的数字是否是prime number的函数

img

这是professor的解答:
def prime_checker(number):
is_prime = True
for i in range(2, number):
if number % i == 0:
is_prime =False
if is_prime:
print("it is ")
else:
print("it is not")

n = int(input("Check this number: "))
prime_checker(number=n)

这是我的解答:
def prime_checker(number):
for i in range(2, number):
if number % i == 0:
print("it is ")
else:
print("it is not")

n = int(input("Check this number: "))
prime_checker(number=n)

我的问题是为什么要多加一个is_prime的条件,虽然执行的时候professor的结果比我的少了几行,但是我不明白加的这几行is_prime是什么意思。。想不明白,搞不太懂这个关系要怎么解释

  • 写回答

1条回答 默认 最新

  • Roc-xb 后端领域优质创作者 2022-04-27 00:24
    关注

    你的解答是有问题的,不能输出正确的结果。加的is_prime的目的就是记录这个数是否存在因数,如果有因数,那么它一定不是质数,否则它就是质数。

    img

    做一下修改可以这样:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    """
    @author: Roc-xb
    """
    import requests
    
    
    def prime_checker(number):
        for i in range(2, number):
            if number % i == 0:
                print("it is not")
                return
        else:
            print("it is ")
    
    
    n = int(input("Check this number: "))
    if __name__ == '__main__':
        prime_checker(number=n)
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月5日
  • 已采纳回答 4月27日
  • 修改了问题 4月27日
  • 创建了问题 4月26日

悬赏问题

  • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红