看看哪里错了,快崩溃了

weixin_45434440 2020-10-21 11:03:31
利用列表实现筛选法求素数
问题描述:编写程序,输入一个大于2的自然数,然后输出小于该数字的所有素数组成的列表

def sushu(num):
lst=[]
for i in range(2,num):
flag = 1
for j in range(2,i):
if i%j==0:
flag=0
break

if flag:
lst.append(i)
print(lst)


num=input("请输入一个大于2的自然数:")
sushu(num)
...全文
381 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
crifan 2021-04-30
  • 打赏
  • 举报
回复
更新:已经把此常见问题,整理到教程中了,详见: input返回值是字符串 · Python新手小白常见错误和问题
crifan 2020-10-22
  • 打赏
  • 举报
回复
你是把
num=input("请输入一个大于2的自然数:")
得到的 num 以为是 数字类型=int 了 其实是 字符串类型=str 所以完整逻辑应该是:

numStr=input("请输入一个大于2的自然数:")
numInt = int(numStr)
然后再去调用后面代码。 以及,通过打印变量类型,更好的理解代码逻辑:

numStr = input("请输入一个大于2的自然数:")
print("type(numStr)=%s" % type(numStr))
numInt = int(numStr)
print("type(numInt)=%s" % type(numInt))
欢乐的小猪 2020-10-21
  • 打赏
  • 举报
回复
def sushu(num) :
    lst = []
    for i in range(2 , num) :
        flag = 1
        for j in range(2 , i) :
            if i % j == 0 :
                flag = 0
                break

        if flag :
            lst.append(i)
    print(lst)


num =int( input("请输入一个大于2的自然数:"))
sushu(num)

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧