您的位置:首页 > 编程语言 > Python开发

Python基础语法——循环(四)

2017-02-21 23:23 197 查看

前言

这是这一阶段对循环语法练习的一个实践练习分享及总结

题目

找出一个整数的所有最小因子,即所有因子均为素数因子,例如8的所有因子即为2,2,2。

思路解析:在编程前先进行梳理整个解题过程,首先是需要找到整数的因子,同时对因子进行素数的判断并将非素数因子进行分解,同时需要注意因子是成对出现的,而分解之后的素数因子是不变的。

下面是博主编写的源码:

#!/usr/local/bin/python
# encoding: utf-8
'''
test -- 软件流程开发学习 -- 显示一个整数的所有因子的素数因子(即将所有因子分解到最小因子)

@author:     Eric

@copyright:  2017 organization_name. All rights reserved.

@contact:    xj_lin@protonmail.com

@note:    关键思想是素因子可以构成所有的因子,所以不用遍历所选整数的所有因子
'''
def Division_factor(num):
factor = 2
while factor <= num/2:
if num % factor == 0:
judge = Prime(factor)
if judge == 1:
print(factor,"\t",end="")
factor = int(num / factor)
judge = Prime(factor)
if judge == 1:
print(factor,"\t",end="")
else:
Division_factor(factor)
break#只要找到一个因子便不用再继续循环factor了
else:
factor += 1
def Prime(factor):
k = 2
isPrime = True
while k <= factor/2:
if factor % k == 0:
isPrime = False
break
k += 1
if isPrime:
return 1
else:
return 0
if __name__ == "__main__":
num = eval(input("请输入一个整数:"))
Division_factor(num)


小结:

循环部分的学习到此告一个阶段,关键对循环的使用是如何判断合适需要,这样使用循环才能达到最佳的效果,而在今天这篇博文的练习过程中我便陷入了对多对因子的分解,这导致结果会有重复,在重新理清思绪之后才实现最终效果,虽然源码不像之前的练习的代码那样少,但是解题的思路很清晰,可以作为参考。

分享本书作者梁勇的源码:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 编程 源码