使用 Python 求一个数的所有除数

Find all the divisors of a number using Python

我正在尝试编写一个 Python 脚本来查找素数。在我处理这个问题的方式中,脚本将从一个范围中取一个数字,确定因子,确定是否只有两个因子是 1 和它本身,如果它是质数,则 return 为真。我的代码需要帮助才能找到这些因素。

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

i = 1

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

i 设置为 1 因为不能除以 0。然而,return 开始工作,然而,它只是 return 几个数字,而不是我希望的完整列表。比如你输入20,它return就只有12.

您只是在 "is even" 情况下递增 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)