python中的while循环
用while解决简单的数学问题
案例1:求解1~100的数的和
i=0
sum=0
while i<=100:
sum=sum+i
i=i+1
print(sum)
运行结果:
案例2:求解1~100之间奇数(偶数)的和
i=0
sum=0
while i<=100:
if i%2!=0:
sum=sum+i
i=i+1
print(sum)
运行结果:
求偶数时,只需要将if条件中的!=改为=即可
案例3:求解100~1000之间的回文数(回文数即从左到右与从右到左的位数相同,eg:121,131)
i=100
while i<=1000 and i>=100:
j=i//100 #取整,bai
k=i%100//10 #shi
z=i-j*100-k*10 #ge
x=z*100+k*10+j*1
if i==x:
print(i,end=" ")
i=i+1
运行结果:
……
案例4:求解100~1000之间的水仙花数(水仙花数即某一个数等于它每个位上的数的三次方的和sum=百位 ^3 + 十位 ^3 + 个位 ^3),与之相关的还有4次方所对应的数,5次方等
i=100
while i<1000 and i>=100:
j=i//100 #取整,bai
k=i%100//10 #shi
z=i-j*100-k*10 #ge
x=z**3+k**3+j**3
if i==x:
print(i)
i=i+1
运行结果:
案例5:求解1~100之间数的阶乘的和(1+12+123+……+123……*100)
,学习函数(递归)时可以用此例作为练习
这里只计算到10
i=1
#i的值所对应的乘积
result=1
#最终和
sum=0
while i<10:
result=result*i
sum=sum+result
i=i+1
print(sum)
运行结果:
案例六:求解1~1000之间的斐波那契数列(斐波那契数列数列即前两项的和等于下一项)
i=0
j=1
while i<1000 and j<1000:
print(i,end=" ")
print(j,end=" ")
i=i+j
j=i+j
运行结果:
案例七:99乘法表(用for实现更加容易,两层嵌套即可)
i=1
while i<=9:
j=1
while j<=i:
print("%d*%d=%d"%(j,i,j*i),end="\t")
j=j+1
print()
i=i+1
运行结果: