Python只用while求100内素数

怎么让图中左侧的思路等价到右侧不使用除print外的函数的形式?

img


右侧的错误怎么解决?

  1. 一个大于1的正整数,如果除了1和它本身以外,不能被其他正整数整除,就叫素数。
  2. 求素数只用一个循环肯定不够用,当然也有其他办法比如递归,放在这里应该不适用
  3. 根据你给出的代码和提示,我做出了一下demo,觉得可以请采纳一下
    j = 2
    i = 2
    while j < 100:
     while i < j:
         if j % i == 0:
             break
         i += 1
         if i >= j:
             print(j)
     else:
         print(j)
     j += 1
     i = 2
    

img

def isprime(num):
    if num in (0,1): #0和1既不是质数也不是合数
        return False
    for divisor in range(1, num):
        if divisor == num or divisor == 1: #如果除数是这个数本身或是1
            continue
        if num % divisor == 0: #可以整除
            return False
    return True
for num in range(1, 101):
    if isprime(num):
        print(num)

如果答案对你有帮助,麻烦给个采纳!下面是运行结果:

img