YQAILJC 发表于 2020-12-14 18:32:40

这个求素数的代码哪里有问题啊求指点

a = int(input("请输入一个正整数:"))
i = 2
if 1<i<a:
    if a%i==0:
      print("%d是合数"%(a))
    else:
      i= i+1
else:
    print("%d是素数"%(a))
      

巴巴鲁 发表于 2020-12-14 18:47:44

要用循环

小伤口 发表于 2020-12-14 18:58:52

a = int(input("请输入一个正整数:"))
i = 2
while 1:
    if 1<i<a:
      if a%i==0:
            print("%d是合数"%(a))
            break
      else:
            i= i+1
    else:
      print("%d是素数"%(a))
      break   

YQAILJC 发表于 2020-12-14 19:24:24

小伤口 发表于 2020-12-14 18:58


谢谢

YQAILJC 发表于 2020-12-14 19:25:50

小伤口 发表于 2020-12-14 18:58


我想问一下为什么要用while呢

小伤口 发表于 2020-12-14 19:53:26

YQAILJC 发表于 2020-12-14 19:25
我想问一下为什么要用while呢

你的代码要想得到结果要运行多次才行‘(代码原理就是输入的数字一直除小于他的数字都除不尽就是素数)
所以得用while一直让他除,直到符合条件

YQAILJC 发表于 2020-12-14 20:18:21

小伤口 发表于 2020-12-14 19:53
你的代码要想得到结果要运行多次才行‘(代码原理就是输入的数字一直除小于他的数字都除不尽就是素数) ...

我写的那个我是不是就没有循环。没有把i=i+1那个利用起来

小伤口 发表于 2020-12-14 20:21:51

YQAILJC 发表于 2020-12-14 20:18
我写的那个我是不是就没有循环。没有把i=i+1那个利用起来

对头{:10_256:}

小伤口 发表于 2020-12-14 20:27:29

YQAILJC 发表于 2020-12-14 20:18
我写的那个我是不是就没有循环。没有把i=i+1那个利用起来

有帮助的话就给个最佳吧

YQAILJC 发表于 2020-12-14 20:43:27

小伤口 发表于 2020-12-14 20:21
对头

谢谢大佬

qq1151985918 发表于 2020-12-14 20:45:05

补充下,输入2的情况这里并没有

小伤口 发表于 2020-12-14 20:45:40

qq1151985918 发表于 2020-12-14 20:45
补充下,输入2的情况这里并没有

不影响的哦{:10_297:}

小伤口 发表于 2020-12-14 20:46:18

YQAILJC 发表于 2020-12-14 20:43
谢谢大佬

客气共同学习{:10_297:}别忘结贴哦

小伤口 发表于 2020-12-15 11:30:59

不结帖吗{:10_250:}
页: [1]
查看完整版本: 这个求素数的代码哪里有问题啊求指点