-6

我正在尝试编写一个可以找到素数的 Python 脚本。以我要处理的方式,脚本将从一个范围内获取一个数字,确定因子,确定仅有的两个因子是否为 1 和它本身,如果它是素数则返回 true。我需要帮助我的代码找到因素。

num = int(input("enter: "))

i = 1

while i < num:
  if num % i == 0:
    print(i)
    i += 1
  else:
    pass

i设置为,因为1您不能除以0。但是,返回开始起作用,但是,它只返回几个数字,而不是我希望的完整列表。例如,您输入20,它只返回12

4

1 回答 1

1

你只是i在“是偶数”的情况下增加。这会解决它:

num = int(input("enter: "))

i = 1

while i < num:
  if num % i == 0:
    print(i)
  i += 1

但是,最好range()用于迭代一系列数字:

num = int(input("enter: "))
for i in range(1, num):
  if num % i == 0:
    print(i)
于 2020-03-03T17:34:19.360 回答