一个基础的Python练习题,对初学者有一定难度

利用for表达式计算1~100之间的素数。素数只能整除1和它自身。

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
思路:

  1. 定义一个空的列表 prime_list,用于存储素数。
  2. 使用 for 循环遍历 1~100 的数字。
  3. 判断当前数字是否为素数:如果能被 2~(n-1) 中的任意一个数整除,则不是素数,否则是素数。
  4. 如果当前数字是素数,则将其添加到 prime_list 中。
  5. 循环结束后,输出 prime_list 中的素数。

完整代码如下:

prime_list = []

for num in range(2, 101):
    for i in range(2, num):
        if num % i == 0:
            break
    else:
        prime_list.append(num)

print("1~100之间的素数为:")
for prime in prime_list:
    print(prime, end=" ")

运行结果:

1~100之间的素数为:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

在上面的代码中,我们使用了两个嵌套的 for 循环,第一个循环遍历 2100 的数字,第二个循环遍历 2(n-1) 的数字,判断当前数字是否为素数,如果是素数,则添加到 prime_list 列表中。最后,输出 prime_list 列表中的素数。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

引用chatGPT作答,可以使用以下代码来计算1到100之间的素数:

for num in range(2, 101):
    is_prime = True
    for i in range(2, num):
        if (num % i) == 0:
            is_prime = False
            break
    if is_prime:
        print(num)

首先,我们使用一个for循环从2开始迭代到100。这是因为1不是素数,因此我们可以跳过它。

然后,我们定义一个布尔变量is_prime,并将其初始化为True。我们将在内部循环中使用它来判断数字是否为素数。

接下来,我们使用另一个for循环从2开始迭代到当前数字num的前一个数字。如果num可以被当前迭代的数字整除,则将is_prime设置为False,并跳出内部循环。如果没有找到可整除num的数字,则is_prime仍为True,表明num是一个素数。

最后,我们检查is_prime的值。如果它是True,则打印当前数字num,因为它是一个素数。