双向循环练习
1.打印10行10列的小星星(两个循环)
1 # j 外循环用来控制行数 2 j = 0 3 while j < 10: 4 i 打印一行十个星星 5 i = 0 6 while i < 10 7 写上循环的逻辑 8 print("*",end="") 9 i+=1 10 打印换行 11 print() 12 13 j+=1
2.打印10行10列小星星(隔列换色)
1 i = 2 3 j=0 while j<10 5 内部循环逻辑 6 if j%2==0: 7 ★else 9 ☆10 j+=1 13 i+=1
3.打印10行10列小星星(隔行换色)
1 """ 2 外层循环动一次 3 内层循环动10次 4 外层循环动的慢 5 内层循环动的快 6 7 i = 8 while i<10 9 打印隔列换色星星 10 j =12 i 隔列换色 13 if i%2 == 0: 14 15 16 17 j+=1 18 19 20 21 i+=1
4.99乘法表
i控制行 2 i=1 while i<=9 j控制列 5 j=1 while j<=i: 打印表达式 %d*%d=%2d " % (i,j,i*j),1)"> 9 j+=1 12 i+=1
5.99乘法表反向
1 i=9 9*1 9*2 9*3 .... 2 while i>=13 j=1 4 5 6 j+=1 7 8 9 i-=1
6.99乘法表空格正向
???如何打印在每行打印空格??? ''' 第一行循环8组空格 8~1 是循环8组空格 第二行循环7组空格 7~1 是循环7组空格 ...... 第八行循环1组空格 1 是循环1组空格 7 第九行 不需要空格 所以 k>0 8 9 i = 1 10 11 12 打印空格 13 k=9-i 14 while k>" 16 k-=1 17 打印表达式 18 j=1 20 21 j+=1 22 23 24 25 i+=1
7.99乘法表空格反向
1 i=9 while i<=1 3 4 k = 9- 5 7 k-=1 8 9 j=1 11 12 j+=1 13 14 i-=1
8.吉利数(方法一)
得到个位: 123%10=3 得到十位:123//10%10=2 得到百位:123//100=1 6 i = 100 7 while i < 1000 8 gewei = i%10 9 shiwei = i//10%10 10 baiwei = i//100 111 222......888 999 if gewei == shiwei and shiwei == baiwei: (i) 123 234......678 789 15 elif shiwei == gewei-1 and shiwei == baiwei+116 (i) 987 876......432 321 18 elif shiwei == gewei+1 and shiwei == baiwei-119 20 i+=1 21
9.吉利数(方法二)
1 i = 100 while i <1000 3 strvar=str(i) 4 baiwei = int(strvar[0]) 5 shiwei = int(strvar[1]) 6 gewei = int(strvar[2 7 10 13 i+=1
10.百钱买百鸡
公鸡x 母鸡y 小鸡z 公鸡1块钱1只,母鸡3块钱一只,小鸡5毛钱一只 问: 用100块钱买100只鸡,有多少种买法? """ 穷举法:把数拿出来,一个一个试 x{1,2} 9 y{3,4} 10 z{5,6} 11 x+y+z = 10 列出来 12 1+3+5 = 9 不要 13 1+3+6 = 10 要 14 1+4+5 = 10 要 15 1+4+6 = 11 不要 16 17 2 + 3 + 5 = 10 要 18 2 + 3 + 6 = 11 不要 19 2 + 4 + 5 = 11 不要 20 2 + 4 + 6 = 12 不要 21 22 23 24 # 两个条件同时满足 25 x+y+z = 100 26 x*1 + y*3 + z*0.5 = 100 27 28 29 count =30 x =31 公鸡 32 while x <=10033 母鸡 34 y =35 while y <=3336 小鸡 37 z =38 while z <=10039 if x+y+z == 100 and x*1 + y*3 + z*0.5 == 10040 count += 1 41 (x,y,z) 42 z+=1 43 y+=1 44 x+=1 45 46 print(count)
-------------------------------------------------------------------------------------------------------------
关键字:pass,break,continue
1.pass 过 占位
2.break 终止当前循环
注意的是!!!终止的是当前循环!!!
1 i = 1 while i <= 3 3 j = 1 while j <= 3if j == 2 6 break (i,j) 8 j += 1 9 i += 1 输出(1,1)(2,1)(3,1) 11 只终止了while j <= 3这个内层循环,并没有终止while i <= 3这个外层循环
3.continue 跳过当前循环,从下一次循环开始
打印1~10 跳过8 2 i = 1 while i <= 10 4 if i == 8 需手动自增加1. 当执行continue时,后面的代码不执行,跳到while循环的条件判断处,会造成死循环 7 i += 1 continue 10 i += 1
----------------------------------------------------------------------------------------------------------
for循环
遍历 == 循环 == 迭代
1.for循环和while循环的区别
for主要用于遍历数据
while在遍历数据时,有局限性
2.for循环格式:
for 变量 in 可迭代对象:
code1
code2
可迭代对象(容器类型数据,range对象,迭代器)
3.for循环可以遍历字符串,集合,列表,元组,字典。其中遍历字典时是遍历字典的key。
4.遍历不等长的二级容器
1 用嵌套for循环来遍历不等长的二级容器 2 container = [[6.6YiNuoIce"],(JiuCJiuLong")] 3 for i in container: for j i: print(j)
5.遍历等长的二级容器
等长的二级容器每个里面都是3个元素,分别用a,b,c接收它们 2 container = [(MikeAlanRick"),1)">LindaNikeBruth556762994) ] for a,c print(a,c)
6.range对象
range(开始值,结束值,步长)
结束值本身取不到,取到结束值之前的那个数
只有一个值 0~5 in range(6): print(i) 0,1,2,3,4,5 5 只有两个值 6 in range(3,8 3,5,6,7 8 9 只有三个值 in range(1,10,3print(i) 1,1)">12 13 倒序打印5 ~ 1 14 in range(5,-1 5,1
7.关于while循环和for循环适用场景的总结
while循环:较为复杂的逻辑
for循环:数据的遍历
while和for部分代码可以互相转换
8.while循环代码和for循环代码的相互转换
while i <= 9 6 j+=1 8 i+=1 9 10 () 15
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。