任务要求:将输入的数分解质因数,将它们放入一个列表中并以列表的格式输出

先将完整代码放出,如下

num_list = []
number = int(input('请输入一个大于1的正整数'))
for i in range(2,number+1):
    while number % i == 0:
        num_list.append (i)
        number = number / i
print(num_list)

现在我们来理解它的逻辑

首先建立一个名为num_list的列表,以便将最后的质因数 i 放入

然后将我们输入的数定义为number,并且由字符串转变为整数

number的质因数范围会在(2,number+1)中,故 i 的范围是(2,number+1)

使用while循环,当number能被 i 整除时,说明 i 是number的其中一个质因数,将 i 打印进列表中.随后将number的值除以 i,刷新number的值,重复此步骤,直到number = 1

最后打印出所有的质因数,完成.

好好爱自己
最后更新于 2025-10-31