从实例中学习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学习笔记

全部评论

相关推荐

感觉他们一点都不了解现在这个社会就业有多难,已经在牛客刷到好多篇 延毕的帖子了,延毕就会导致已经找好的工作就没了,还得重新再找,学校和老师们是怎么想的呢????看到学生丢失工作会开心吗 就业数据都在造假,真实的就业困难不去解决 一个个真是好样的
从明天开始狠狠卷JV...:学生看到的是导师不放实习导致offer黄了。 导师看到的是招进来的学生吃自己补助和自己的招生名额,却没给自己升迁带来任何帮助,还要跑路。 根本利益的不一致,最主要留校的导师大概率是职场上招聘失败的,被迫留校的,什么牛鬼蛇神都会有
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务