使用 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就只有1
和2
.
您只是在 "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)
我正在尝试编写一个 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就只有1
和2
.
您只是在 "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)