任务要求:将输入的数分解质因数,将它们放入一个列表中并以列表的格式输出
先将完整代码放出,如下
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
最后打印出所有的质因数,完成.
Comments NOTHING