如何编写一个python程序,从用户那里获取一个数字,并打印该数字的除数,然后打印有多少除数



这是我迄今为止的代码

n=int(input('Enter the value of n: '))
for i in range(n):
if(n%i==0):
print(i, end=',')

我不知道如何求除数,所以我做了问题的第一部分。请帮我找一下。

如果满足条件,您可以定义一个列表变量并附加到此变量:

n = int(input('Enter the value of n: '))
divisors = []
for i in range(1, n):
if n % i == 0:
divisors.append(i)
print(divisors)
print(len(divisors))

现在,len(divisors)是除数。


例如,输入100时,脚本会产生

[1, 2, 4, 5, 10, 20, 25, 50]
8

习惯Python:中的列表理解

divisors = [i for i in range(1, n) if not n % i]

#我已经用字符串解决了这个问题,因为我被要求显示添加了逗号的输出

num = int(input('Enter the value of num: '))
div = ""
count=0
for j in range(1, num+1):
if num % j == 0:
count+=1
if  j!=num:
div+=str(j)+", "
else:
div+=str(j)
print(div)
print("Total", count, "divisors")

最新更新