从实例中学习python【12】

23.求0~1000之间的素数

素数:除了自身与1外不再有其它因数

#定义一个空列表存储判断为素数的数
prime_li = []
for i in range(2,1001):#遍历除1之外的1~1000的数
    # 判断一个数是否素数
    for j in range(2,i):
        if i%j == 0:#如果除了1与自身外还能被其它数整除,则不是素数
            break#如果判断有一个能被整除的数,则退出当前循环,换下一个数判断
    else:#只有for语句都被正常执行完,才会执行else语句,这里的else语句与上面的if语句无关
        prime_li.append(i)
print(prime_li)
'''这里的for...else是python中的一种用法,只有正常执行完for循环里面所有的事情,才会执行else语句
若for循环中途遇到break,就不会执行else里面的语句了
'''
'''在这里第二个for循环只有判断完除1与其自身外所有的数都不能将其整除,也就是
素数的条件成立,才会执行else语句,将判断成的素数添加在素数列表中
'''


24.求解两个数的最大公因数和最小公倍数

#求解两个数的最大公因数
def gcf(a,b):
    #两个数的最大公因数的取值应小于等于两个数中较小的那个数
    for i in range(min(a,b),0,-1):
        if a%i == 0 and b%i==0:
            return i

'''已知最大公因数求最小公倍数:
两个数的乘积 = 最大公因数*最小公倍数
'''
#求解两个数的最小公倍数
def lcm(a,b):
    return '{}是两个数的最小公倍数'.format(a*b/(gcf(a,b)))

print(gcf(3,4))
print(lcm(3,4))

从0到1学习Python 文章被收录于专栏

python学习笔记

全部评论

相关推荐

抱抱碍事梨a:三点建议,第一点是建议再做一个项目,把自我介绍部分顶了,第二点是中南大学加黑加粗,第三点是建议加v详细交流
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客企业服务