双向循环练习

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 = 0
  2. while i < 10:
  3. j=0
  4. while j<10:
  5. # 内部循环逻辑
  6. if j%2==0:
  7. print("★",end="")
  8. else:
  9. print("☆",end="")
  10. j+=1
  11. print()
  12.  
  13. i+=1

3.打印10行10列小星星(隔行换色)

  1. """
  2. 外层循环动一次
  3. 内层循环动10次
  4. 外层循环动的慢
  5. 内层循环动的快
  6. """
  7. i = 0
  8. while i<10:
  9. # 打印隔列换色星星
  10. j = 0
  11. while j < 10:
  12. # i 隔列换色
  13. if i%2 == 0:
  14. print("★",end="")
  15. else:
  16. print("☆",end="")
  17. j+=1
  18.  
  19. # 打印换行
  20. print()
  21. i+=1

4.99乘法表

  1. # i控制行
  2. i=1
  3. while i<=9:
  4. # j控制列
  5. j=1
  6. while j<=i:
  7. # 打印表达式
  8. print("%d*%d=%2d " % (i,j,i*j),end="")
  9. j+=1
  10. # 打印换行
  11. print()
  12. i+=1

5.99乘法表反向

  1. i=9 # 9*1 9*2 9*3 ....
  2. while i>=1:
  3. j=1
  4. while j<=i:
  5. print("%d*%d=%2d " % (i,j,i*j),end="")
  6. j+=1
  7. print()
  8.  
  9. i-=1

6.99乘法表空格正向

  1. # ???如何打印在每行打印空格???
  2. '''
  3. 第一行循环8组空格 8~1 是循环8组空格
  4. 第二行循环7组空格 7~1 是循环7组空格
  5. ......
  6. 第八行循环1组空格 1 是循环1组空格
  7. 第九行 不需要空格 所以 k>0
  8. '''
  9. i = 1
  10. while i<=9:
  11.  
  12. # 打印空格
  13. k=9-i
  14. while k>0:
  15. print(" " , end="")
  16. k-=1
  17. # 打印表达式
  18. j=1
  19. while j<=i:
  20. print("%d*%d=%2d " % (i,j,i*j),end="")
  21. j+=1
  22.  
  23. print()
  24.  
  25. i+=1

7.99乘法表空格反向

  1. i=9
  2. while i<=1:
  3. # 打印空格
  4. k = 9-i
  5. while k>0:
  6. print(" " , end="")
  7. k-=1
  8. # 打印表达式
  9. j=1
  10. while j<=i:
  11. print("%d*%d=%2d " % (i,j,i*j),end="")
  12. j+=1
  13. print()
  14. i-=1

8.吉利数(方法一)

  1. '''
  2. 得到个位: 123%10=3
  3. 得到十位:123//10%10=2
  4. 得到百位:123//100=1
  5. '''
  6. i = 100
  7. while i < 1000:
  8. gewei = i%10
  9. shiwei = i//10%10
  10. baiwei = i//100
  11. # 111 222......888 999
  12. if gewei == shiwei and shiwei == baiwei:
  13. print(i)
  14. # 123 234......678 789
  15. elif shiwei == gewei-1 and shiwei == baiwei+1:
  16. print(i)
  17. # 987 876......432 321
  18. elif shiwei == gewei+1 and shiwei == baiwei-1:
  19. print(i)
  20. i+=1

9.吉利数(方法二)

  1. i = 100
  2. while i <1000:
  3. strvar=str(i)
  4. baiwei = int(strvar[0])
  5. shiwei = int(strvar[1])
  6. gewei = int(strvar[2])
  7. if gewei == shiwei and shiwei == baiwei:
  8. print(i)
  9. elif shiwei == gewei-1 and shiwei == baiwei+1:
  10. print(i)
  11. elif shiwei == gewei+1 and shiwei == baiwei-1:
  12. print(i)
  13. i+=1

10.百钱买百鸡

  1. '''
  2. 公鸡x 母鸡y 小鸡z
  3. 公鸡1块钱1只,母鸡3块钱一只,小鸡5毛钱一只
  4. 问: 用100块钱买100只鸡,有多少种买法?
  5. """
  6. """
  7. 穷举法:把数拿出来,一个一个试
  8. 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 = 0
  30. x = 0
  31. # 公鸡
  32. while x <=100:
  33. # 母鸡
  34. y = 0
  35. while y <=33:
  36. # 小鸡
  37. z = 0
  38. while z <=100:
  39. if x+y+z == 100 and x*1 + y*3 + z*0.5 == 100:
  40. count += 1
  41. print(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
  2. while i <= 3:
  3. j = 1
  4. while j <= 3:
  5. if j == 2:
  6. break
  7. print(i,j)
  8. j += 1
  9. i += 1
  10. # 输出(1,1)(2,1)(3,1)
  11. # 只终止了while j <= 3这个内层循环,并没有终止while i <= 3这个外层循环

3.continue 跳过当前循环,从下一次循环开始

  1. # 打印1~10 跳过8
  2. i = 1
  3. while i <= 10:
  4.  
  5. if i == 8:
  6. # 需手动自增加1. 当执行continue时,后面的代码不执行,跳到while循环的条件判断处,会造成死循环
  7. i += 1
  8. continue
  9. print(i)
  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.6","YiNuo","Ice"],("JiuC","JiuLong")]
  3. for i in container:
  4. for j in i:
  5. print(j)

5.遍历等长的二级容器

  1. # 等长的二级容器每个里面都是3个元素,分别用a,b,c接收它们
  2. container = [("Mike","Alan","Rick") , ("Linda","Nike","Bruth") , ("","","") ]
  3. for a,b,c in container:
  4. print(a,b,c)

6.range对象

range(开始值,结束值,步长)
结束值本身取不到,取到结束值之前的那个数

  1. # 只有一个值 0~5
  2. for i in range(6):
  3. print(i) # 0,1,2,3,4,5
  4.  
  5. # 只有两个值
  6. for i in range(3,8):
  7. print(i) # 3,4,5,6,7
  8.  
  9. # 只有三个值
  10. for i in range(1,10,3):
  11. print(i) # 1,4,7
  12.  
  13. # 倒序打印5 ~ 1
  14. for i in range(5,0,-1):
  15. print(i) # 5,4,3,2,1

7.关于while循环和for循环适用场景的总结

while循环:较为复杂的逻辑
for循环:数据的遍历
while和for部分代码可以互相转换

8.while循环代码和for循环代码的相互转换

  1. i = 1
  2. while i <= 9:
  3. j = 1
  4. while j<=i:
  5. print("%d*%d=%2d " % (i,j,i*j),end="")
  6. j+=1
  7. print()
  8. i+=1
  9.  
  10. for i in range(1,10):
  11. for j in range(1,i+1):
  12. print("%d*%d=%2d " % (i,j,i*j),end="")
  13. print()

day6:双向循环练习&pass_break_continue&for循环的更多相关文章

  1. Day6 三种结构 顺序选择循环!

    顺序结构 从上到下依次执行,它是任何算法都离不开的一种基本算法结构. package com.xiaoming.struct;​public class ShunXuDemo {    public ...

  2. sqlserver中的循环遍历(普通循环和游标循环)

    sql 经常用到循环,下面介绍一下普通循环和游标循环 1.首先需要一个测试表数据Student

  3. Javascript基础系列之(六)循环语句(for循环)

    如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的. document.write(cars[0] + "<br>"); document ...

  4. Oracle PL/SQL中的循环处理(sql for循环)

    今天来说下Oracle中的循环迭代处理,因为从自己的博客统计中看到,不少网友都搜索了关键字"SQL FOR循环",所以打算在这里说下个人的理解. PL/SQL也和我们常用的编程语言 ...

  5. 循环嵌套,while循环,穷举迭代循环

    一.循环嵌套 简单的就是说,在一个for循环里嵌入多个小for循环. 其中,在打矩形.三角形和乘法口诀表之类的题目中,大for循环一般表示的是行数,其余的小for循环式每一行中的内容. 二.while ...

  6. jQuery中each的用法之退出循环和结束本次循环

    jQuery中each的用法之退出循环和结束本次循环 jQuery中each类似于javascript的for循环 但不同于for循环的是在each里面不能使用break结束循环,也不能使用conti ...

  7. 慕课网-安卓工程师初养成-4-14 Java 循环语句之多重循环

    来源:http://www.imooc.com/code/1497 循环体中包含循环语句的结构称为多重循环.三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环.在二重循环中,外层循环每执行 ...

  8. Java 循环语句之多重循环

    循环体中包含循环语句的结构称为多重循环.三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环.在二重循环中,外层循环每执行一次,内层循环要执行一圈. 如下所示: 例如:使用 * 打印长方形: ...

  9. §12 循环101-while循环

    §12   循环101-while循环 While和for具有一定的可替换性.语法如下: while test body continue终止当次循环,break退出整个循环. 注意while之后要用 ...

随机推荐

  1. (五)TestNG测试的并发执行详解

    原文链接:https://blog.csdn.net/taiyangdao/article/details/52159065 TestNG在执行测试时,默认suitethreadpoolsize=1, ...

  2. (二)log4j 配置详解

    原文链接:https://blog.csdn.net/liupeifeng3514/article/details/79625013 1.配置根logger log4j.rootLogger = de ...

  3. 初识Redis的数据类型HyperLogLog

    前提 未来一段时间开发的项目或者需求会大量使用到Redis,趁着这段时间业务并不太繁忙,抽点时间预习和复习Redis的相关内容.刚好看到博客下面的UV和PV统计,想到了最近看书里面提到的HyperLo ...

  4. 使用LaTeX输入矩阵

    当前各种文本编辑器支持的LaTeX数学公式库大多基于KaTeX,或者在Web中用MathJax的比较多,下面给出一种在Web中输入矩阵的例子 $$\left[ \begin{array}{cccc}a ...

  5. visual studio 2005/2010/2013/2015/2017 vc++ c#代码编辑常用快捷键-代码编辑器的展开和折叠

    visual studio 2005/2010/2013/2015/2017 vc++ c#代码编辑快捷键-代码编辑器的展开和折叠 VS2015代码编辑器的展开和折叠代码确实很方便和实用.以下是展开代 ...

  6. vc6.0创建文件时,出现很多烫烫烫解决方法

    vc6.0创建文件时,出现很多烫烫烫烫解决方法 SWM2烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫.IA 如果项目文件放在桌面上 如:C:\Documents and Settings\txwtec ...

  7. 11、vue-路由

    1.路由: 官方提供一个插件,构建单页面应用,主要实现得功能页面得切换.组件得跳转 2.vue中得路由:vue-router包,如果是脚手架进行搭建得,那么是不需要安装vue-router这个包得,因 ...

  8. cookie的介绍和使用

    一.什么是cookie 是由服务器端生成,发送给客户端(一般指浏览器),浏览器将cookie以键值对的形式保存到某个目录下的文本文件内.下次请求该网站时就把cookie发送回服务器.(cookie就是 ...

  9. selenium(4)-针对键盘的操作

    有哪些键盘操作 删除键 空格键 制表键 回退键 回车键 全选 复制 剪切 粘贴 F1-F12 ......其实就是所有键盘都能模拟,包括alt.shift.insert.delete.home等等等. ...

  10. const变量的修改

    int main(){ const char a[]="hello world"; char *aa=(char *)a; printf("\nthe a address ...