搜索
您的当前位置:首页正文

python学习笔记(5)while嵌套循环案例

来源:意榕旅游网
python学习笔记(5)while嵌套循环案例

for 循环: 重复执⾏语句。在循环次数已知时使⽤for循环,且所有for循环均可⽤while循环实现。

while 循环 :在给定的判断条件为 true 时执⾏循环体,否则退出循环体。在循环次数未知时使⽤while循环。嵌套循环: 循环体中嵌套循环

#while循环,只要条件满⾜,就不断循环,条件不满⾜时退出循环。# 其中,执⾏语句可以是单个语句或语句块;

# 判断条件可以是任何表达式,任何⾮零、或⾮空(null)的值均为true#while 判断条件:# 执⾏语句#理解循环代码案例#输出1~20'''num = 1

while num<=20: print(num) num += 1'''

#重复拨打⼀个电话号码100次'''i = 0

while i<100:

print('拨打电话18200001111') i +=1'''

#⼀般情况下,需要多次重复执⾏的代码,可以使⽤循环的⽅式来完成

#循环不是必须要使⽤的,但是为了提⾼代码的重复使⽤,⼀般有经验的开发者都采⽤循环#while的循环格式#while 条件:

# 条件满⾜是,做的事情1# 条件满⾜是,做的事情2# 条件满⾜是,做的事情3# ...(省略)...#打印下标从1开始'''i =0

while i<6:

print('当前是第%d次执⾏循环'%(i+1)) print('i=%d'%i) i +=1'''

# while 循环注意事项:“i += 1”别忘记写,否则条件永远满⾜,⼀直执⾏#***while 循环应⽤案例

#1、计算1~100的累计和(包含1和100)'''i = 1 #定义变量i为1

sum =0 #定义变量总和sum为0

while i <=100: # 判断条件i⼩于等于100

sum =sum+i #sum等于sum+i,遍历⼀次加⼀次 i+=1 #i=i+1

print(\"1~100的累计和为:%d\"%sum) #输⼊1~100的累计和'''#2、计算1~100之间的偶数的累积和(包含1和100)'''i =1 #定义变量i

sum =0 #定义变量sum(累计和)while i<=100:

if i%2==0: #如果i除以2等于0 sum=sum+i i+=1

print(\"1~100偶数的累计和为:%d\"%sum)'''

#3、打印1-100以内所有3和5的倍数、3的倍数以及5的倍数'''num =1bei3_5=[]bei3=[]bei5=[]

while num<=100:

if(num%3==0)and(num%5==0): bei3_5.append(num) elif num%3==0:

bei3.append(num) elif num%5==0:

bei5.append(num) num+=1else:

print('1-100内是3和5的倍数有:',bei3_5) print('1-100内是3的倍数有:',bei3) print('1-100内是5的倍数有:',bei5) print('循环结束')'''#循环结果如下:

#1-100内是3和5的倍数有: [15, 30, 45, 60, 75, 90]

#1-100内是3的倍数有: [3, 6, 9, 12, 18, 21, 24, 27, 33, 36, 39, 42, 48, 51, 54, 57, 63, 66, 69, 72, 78, 81, 84, 87, 93, 96, 99]#1-100内是5的倍数有: [5, 10, 20, 25, 35, 40, 50, 55, 65, 70, 80, 85, 95, 100]#循环结束

#for循环和while循环,两者的相同点在于都能循环做⼀件重复的事情;

# 不同点在于:

# for循环是在序列穷尽时停⽌,

# while循环是在条件不成⽴时停⽌。

# while 循环嵌套:就是while⾥⾯还有while;#也可以在循环体内嵌⼊其他的循环体;# 如在 while 循环中可以嵌⼊ for 循环,

# 反之,你可以在 for 循环中嵌⼊ while 循环。#while循环嵌套格式#while1 判断条件:

# 条件1满⾜是,做的事情1# 条件1满⾜是,做的事情2# 条件1满⾜是,做的事情3# ...(省略)...

# while2 判断条件:

# 条件2满⾜是,做的事情1# 条件2满⾜是,做的事情2# 条件2满⾜是,做的事情3# ...(省略)...

#1、while嵌套应⽤--打印矩形# *****# *****# *****# *****# *****

'''#(1)while循环打印矩形i = 1

while i<=5: print('*****') i+=1 '''

'''#(2)while嵌套打印矩形i=1

while i<=5: #判断条件;外层控制⾏数 j =1

while j<=5:#判断条件,;内层控制列数 print('*',end='') j+=1#1 2 3 4 5

#切成为5个星号⼀⾏ print('') i+=1 '''

'''#2、while嵌套应⽤--打印三⾓形# *# * *# * * *# * * * *# * * * * *

#只要把打印矩形的基础上把内部的while 循环的条件有j<=5修改成j<=i即可。i=1

while i<=5: #判断条件;外层控制⾏数 j =1

while j<=i:#判断条件,i有⼏个就打印⼏个j;内层控制列数 print('*',end='') j+=1 print('') i+=1 '''

''' #2、while嵌套应⽤--打印三⾓形扩展i=1

while i<=5:

num = int(input('请输⼊这⾏打印多少个:')) j=1

while j<=num: print('*',end='') j+=1 print('') i+=1else:

#print('打印三⾓形失败') print('打印三⾓形成功') '''

#3、while 循环嵌套while循环---打印九九乘法表'''i=1

while i<=9: j =1

while j<=i:#内层控制列,需要j<=i,才可以打印出99乘法表,要不打印错误 print(\"%d*%d=%d\\" %(j,i,j*i),end='')#\添加制表符 j+=1 print('') i+=1 '''#运⽤结果:#1*1=1

#1*2=2 2*2=4

#1*3=3 2*3=6 3*3=9

#1*4=4 2*4=8 3*4=12 4*4=16

#1*5=5 2*5=10 3*5=15 4*5=20 5*5=25

#1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

#1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

#1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64

#1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

'''i=j=1

while i<=9:#外层控制⾏,

while j<=i:#内层控制列,需要j<=i,才可以打印出99乘法表,要不打印错误 print(i,\"*\添加制表符 j+=1 print() i+=1 j=1 '''#运⾏结果:#1 * 1 = 1

#2 * 1 = 2 2 * 2 = 4

#3 * 1 = 3 3 * 2 = 6 3 * 3 = 9

#4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16

#5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25

#6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36

#7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49

#8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64

#9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81'''#4、打印1~100之间的偶数

#思路:while 循环嵌套if判断语句,代码如下:i=1

while i<=100:

if i%2==0:# 如果除等于0,可以打印偶数 print('i==%d'%i) i+=1 '''

'''#5、打印1~100之间的奇数i=1

while i<=100:

if i%2==1:#如果除等于1,可以打印奇数 print('i==%d'%i) i+=1 '''

#猜数字⼩游戏

#要求:产⽣⼀个随机数字1~100之间,接受⽤户输⼊;

#如果猜对了,游戏结束;猜⼤了,提⽰猜⼤了;猜⼩了,提⽰猜⼩了。#产⽣随机数模块使⽤random。randint(1,101),是⼀个标准包,#导⼊使⽤即可。import random

sub_str=random.randint(1,101)#⽣成1~100的⼀个随机数sub_str=66

while 1: #判断条件为1,就是让它⼀直为真,也就是岁循环,下⾯通过break来强制停⽌; num =int(input('请输⼊⼀位随机数字:'))

if num > 100 or num <1: #判断输⼊的数字是否在1~100之间 print('输⼊随机数错误,请输⼊1~100之前的随机数') continue#继续执⾏ else:

if num == sub_str:#如果猜对了,结束循环

print('猜对了,游戏结束%d'%sub_str)#%d 字符串格式化输出 break #强制停⽌

elif num < sub_str:#如果猜⼩了,就跳出本次循环,提⽰猜⼩了 print('猜⼩了,请重新输⼊数字') continue#继续执⾏

else: #否则财⼤了,就提⽰财⼤了。就三种情况⼤,⼩,等于;前⾯两种是等于个⼩于,这个else就是⼤于。 print('猜⼤了,请重新输⼊数字') continue#继续执⾏

因篇幅问题不能全部显示,请点此查看更多更全内容

Top