森林半岛 2022-05-21 12:33 采纳率: 81.8%
浏览 39
已结题

python函数设计与使用

问题遇到的现象和发生背景

函数isPrime()接收一个大于等于2的正整数num,判断其是否为素数,素数时返回True,否则返回False
函数main()接收一个大于等于2的正整数n,要求返回不超过n的最大素数,可以调用程序中定义的函数isPrime()

我的解答思路和尝试过的方法

isPrime()函数我写出来了,main()函数也写了,但是调用的时候总是出错,结果也不对,不知道为什么

我想要达到的结果

例如n=200时返回199,n=100时返回97,n=2时返回2

  • 写回答

3条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-05-21 13:51
    关注
    def isPrime(n):
        if n==2: return True
        for i in range(2,int(n**0.5)+1):
            if n%i == 0: return False
        return True
    
    def main(n):
        for i in range(n,1,-1):
            if isPrime(i):return i
    
    print(main(200))
    print(main(100))
    print(main(2))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月31日
  • 已采纳回答 5月23日
  • 创建了问题 5月21日