前言
正所谓温故而知新,这篇文章存在的缘故就是为了帮助我击败以前的“大魔王”,走上刷怪之路
一、循环结构的小难题
示例:传统艺能,先来一篇99乘法表怀念一下我的小白生涯
for i in range(1,10):
for j in range(i,10):
print("%d*%d=%-2d"%(i,j,i*j),end=" ")
#"%d"可以通过调节%后的数字来调节长度(默认右居中,加负号左居中)
'''print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
sep -- 用来间隔多个对象,,end -- 用来设定以什么结尾
'''
print("\n")
一下这段代码是求素数的
思想:——素数是只能被一和它本身整除的数,
—————在超过它的开更数以后不再有被整除的数
—————所以在2~根号X内遍历循环即可
x=int(input("input a mumber:"))
for i in range(2,int(x**0.5)):
'''x**0.5 == math.sqrt(x) 开方小能手'''
last=x%i
if(x%i==0):
print("不是素数")
break
if(last!=0):
print(x,"是素数")
公因数(我不会写呜呜呜,改天补上)
用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。
如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。
二、其他的练习
1.水仙花数
水仙花数是一个3位数,该数字每个位上数字的立方之和正好等于它本身。
比如1 ** 3+5 ** 3+3 ** 3=153=它本身(** 意为乘方)
for i in range(1,21):
for j in range(1,34):
n=100-i-j
if(5*i+3*j+n*(1/3)==100 ):
print("公鸡%d个,母鸡%d个,小鸡%d个"%(i,j,n))
2.百鸡百钱
公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?
for i in range(1,21):
for j in range(1,34):
n=100-i-j
if(5*i+3*j+n*(1/3)==100 ):
print("公鸡%d个,母鸡%d个,小鸡%d个"%(i,j,n))
3.斐波那契数列
‘’‘斐波那契数列的特点是数列的前两个数都是1,从第三个数开始,每个数都是它前面两个数的和,’’’
a=1;b=1
for i in range(20):
a,b=b,a+b
#(双重赋值,这是独属于Python的赋值方法,hei优雅)
print(b,end=" ")