鱼C论坛

 找回密码
 立即注册
查看: 1562|回复: 3

萌新求教!求各位大佬帮忙解答

[复制链接]
发表于 2021-10-10 00:30:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
感谢各位大佬点进帖子!
跟着小甲鱼的python视频学习了两天,自己尝试着写了一个求小于给出整数的所有质数列表的代码如下
def isprime(numb):
    if numb % 2 == 0:
        return 0
    else:
        count = 0
        for i in prime:
            if numb % i != 0:
                count += 1
        if count == len(prime):
            return 1
        else:
            return 0

temp = int(input('范围(大于1的整数):'))
num = 1
prime = [2]
while (num <= temp):
    if isprime(num) == 1:
        prime.append(num)
    num = num+1
   
prime.remove(2)
print('质数:',prime)
print('数量:',len(prime))
   
但是不知道为什么这个代码跑不出来 这样的话输出的结果prime列表里都只有[1]这一个元素
但是如果把代码里的num(初始质数检测值)改成3就能正常输出结果了
百思不得其解不知道是为什么 球球各位大佬帮忙解答了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-10 00:43:38 | 显示全部楼层
将 isprime 纯粹为一个判断函数,不要涉及外部全局的 prime 列表
  1. def isprime(numb):
  2.     if numb <= 1:
  3.         return False
  4.     for i in range(2, int(numb ** 0.5) + 1):
  5.         if numb % i == 0:
  6.             return False
  7.     return True


  8. temp = int(input('范围(大于1的整数):'))
  9. num = 1
  10. prime = []
  11. while (num <= temp):
  12.     if isprime(num):
  13.         prime.append(num)
  14.     num = num + 1

  15. print('质数:',prime)
  16. print('数量:',len(prime))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-10 00:52:00 | 显示全部楼层
qq1151985918 发表于 2021-10-10 00:43
将 isprime 纯粹为一个判断函数,不要涉及外部全局的 prime 列表

感谢感谢!我已经知道问题出在哪里了,prime里面有1之后isprime就一直会返回0了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-10 08:41:03 | 显示全部楼层
本帖最后由 傻眼貓咪 于 2021-10-10 08:44 编辑
  1. def prime(num):
  2.     return False if num<2 else True if num == 2 else all([bool(num%i) for i in range(2, num)])

  3. arr = [n for n in range(int(input("输入任何整数:"))) if prime(n)]

  4. print(*arr) if arr else print("没有质数")
复制代码
  1. 输入任何整数:15
  2. 2 3 5 7 11 13

  3. 输入任何整数:-13
  4. 没有质数
复制代码
我的代码比较难理解,仅供参考,希望对你有帮助
(老师在课堂上所教导的都是基础,自己必须理解,活用,变化,才是真正学习之道)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-30 19:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表