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