day6:双向循环练习&pass_break_continue&for循环
双向循环练习
1.打印10行10列的小星星(两个循环)
- # j 外循环用来控制行数
- j = 0
- while j < 10:
- # i 打印一行十个星星
- i = 0
- while i < 10:
- # 写上循环的逻辑
- print("*",end="")
- i+=1
- # 打印换行
- print()
- j+=1
2.打印10行10列小星星(隔列换色)
- i = 0
- while i < 10:
- j=0
- while j<10:
- # 内部循环逻辑
- if j%2==0:
- print("★",end="")
- else:
- print("☆",end="")
- j+=1
- print()
- i+=1
3.打印10行10列小星星(隔行换色)
- """
- 外层循环动一次
- 内层循环动10次
- 外层循环动的慢
- 内层循环动的快
- """
- i = 0
- while i<10:
- # 打印隔列换色星星
- j = 0
- while j < 10:
- # i 隔列换色
- if i%2 == 0:
- print("★",end="")
- else:
- print("☆",end="")
- j+=1
- # 打印换行
- print()
- i+=1
4.99乘法表
- # i控制行
- i=1
- while i<=9:
- # j控制列
- j=1
- while j<=i:
- # 打印表达式
- print("%d*%d=%2d " % (i,j,i*j),end="")
- j+=1
- # 打印换行
- print()
- i+=1
5.99乘法表反向
- i=9 # 9*1 9*2 9*3 ....
- while i>=1:
- j=1
- while j<=i:
- print("%d*%d=%2d " % (i,j,i*j),end="")
- j+=1
- print()
- i-=1
6.99乘法表空格正向
- # ???如何打印在每行打印空格???
- '''
- 第一行循环8组空格 8~1 是循环8组空格
- 第二行循环7组空格 7~1 是循环7组空格
- ......
- 第八行循环1组空格 1 是循环1组空格
- 第九行 不需要空格 所以 k>0
- '''
- i = 1
- while i<=9:
- # 打印空格
- k=9-i
- while k>0:
- print(" " , end="")
- k-=1
- # 打印表达式
- j=1
- while j<=i:
- print("%d*%d=%2d " % (i,j,i*j),end="")
- j+=1
- print()
- i+=1
7.99乘法表空格反向
- i=9
- while i<=1:
- # 打印空格
- k = 9-i
- while k>0:
- print(" " , end="")
- k-=1
- # 打印表达式
- j=1
- while j<=i:
- print("%d*%d=%2d " % (i,j,i*j),end="")
- j+=1
- print()
- i-=1
8.吉利数(方法一)
- '''
- 得到个位: 123%10=3
- 得到十位:123//10%10=2
- 得到百位:123//100=1
- '''
- i = 100
- while i < 1000:
- gewei = i%10
- shiwei = i//10%10
- baiwei = i//100
- # 111 222......888 999
- if gewei == shiwei and shiwei == baiwei:
- print(i)
- # 123 234......678 789
- elif shiwei == gewei-1 and shiwei == baiwei+1:
- print(i)
- # 987 876......432 321
- elif shiwei == gewei+1 and shiwei == baiwei-1:
- print(i)
- i+=1
9.吉利数(方法二)
- i = 100
- while i <1000:
- strvar=str(i)
- baiwei = int(strvar[0])
- shiwei = int(strvar[1])
- gewei = int(strvar[2])
- if gewei == shiwei and shiwei == baiwei:
- print(i)
- elif shiwei == gewei-1 and shiwei == baiwei+1:
- print(i)
- elif shiwei == gewei+1 and shiwei == baiwei-1:
- print(i)
- i+=1
10.百钱买百鸡
- '''
- 公鸡x 母鸡y 小鸡z
- 公鸡1块钱1只,母鸡3块钱一只,小鸡5毛钱一只
- 问: 用100块钱买100只鸡,有多少种买法?
- """
- """
- 穷举法:把数拿出来,一个一个试
- x{1,2}
- y{3,4}
- z{5,6}
- x+y+z = 10 列出来
- 1+3+5 = 9 不要
- 1+3+6 = 10 要
- 1+4+5 = 10 要
- 1+4+6 = 11 不要
- 2 + 3 + 5 = 10 要
- 2 + 3 + 6 = 11 不要
- 2 + 4 + 5 = 11 不要
- 2 + 4 + 6 = 12 不要
- """
- """
- # 两个条件同时满足
- x+y+z = 100
- x*1 + y*3 + z*0.5 = 100
- '''
- count = 0
- x = 0
- # 公鸡
- while x <=100:
- # 母鸡
- y = 0
- while y <=33:
- # 小鸡
- z = 0
- while z <=100:
- if x+y+z == 100 and x*1 + y*3 + z*0.5 == 100:
- count += 1
- print(x,y,z)
- z+=1
- y+=1
- x+=1
- print(count)
-------------------------------------------------------------------------------------------------------------
关键字:pass,break,continue
1.pass 过 占位
2.break 终止当前循环
注意的是!!!终止的是当前循环!!!
- i = 1
- while i <= 3:
- j = 1
- while j <= 3:
- if j == 2:
- break
- print(i,j)
- j += 1
- i += 1
- # 输出(1,1)(2,1)(3,1)
- # 只终止了while j <= 3这个内层循环,并没有终止while i <= 3这个外层循环
3.continue 跳过当前循环,从下一次循环开始
- # 打印1~10 跳过8
- i = 1
- while i <= 10:
- if i == 8:
- # 需手动自增加1. 当执行continue时,后面的代码不执行,跳到while循环的条件判断处,会造成死循环
- i += 1
- continue
- print(i)
- i += 1
----------------------------------------------------------------------------------------------------------
for循环
遍历 == 循环 == 迭代
1.for循环和while循环的区别
for主要用于遍历数据
while在遍历数据时,有局限性
2.for循环格式:
for 变量 in 可迭代对象:
code1
code2
可迭代对象(容器类型数据,range对象,迭代器)
3.for循环可以遍历字符串,集合,列表,元组,字典。其中遍历字典时是遍历字典的key。
4.遍历不等长的二级容器
- # 用嵌套for循环来遍历不等长的二级容器
- container = [["6.6","YiNuo","Ice"],("JiuC","JiuLong")]
- for i in container:
- for j in i:
- print(j)
5.遍历等长的二级容器
- # 等长的二级容器每个里面都是3个元素,分别用a,b,c接收它们
- container = [("Mike","Alan","Rick") , ("Linda","Nike","Bruth") , ("","","") ]
- for a,b,c in container:
- print(a,b,c)
6.range对象
range(开始值,结束值,步长)
结束值本身取不到,取到结束值之前的那个数
- # 只有一个值 0~5
- for i in range(6):
- print(i) # 0,1,2,3,4,5
- # 只有两个值
- for i in range(3,8):
- print(i) # 3,4,5,6,7
- # 只有三个值
- for i in range(1,10,3):
- print(i) # 1,4,7
- # 倒序打印5 ~ 1
- for i in range(5,0,-1):
- print(i) # 5,4,3,2,1
7.关于while循环和for循环适用场景的总结
while循环:较为复杂的逻辑
for循环:数据的遍历
while和for部分代码可以互相转换
8.while循环代码和for循环代码的相互转换
- i = 1
- while i <= 9:
- j = 1
- while j<=i:
- print("%d*%d=%2d " % (i,j,i*j),end="")
- j+=1
- print()
- i+=1
- for i in range(1,10):
- for j in range(1,i+1):
- print("%d*%d=%2d " % (i,j,i*j),end="")
- print()
day6:双向循环练习&pass_break_continue&for循环的更多相关文章
- Day6 三种结构 顺序选择循环!
顺序结构 从上到下依次执行,它是任何算法都离不开的一种基本算法结构. package com.xiaoming.struct;public class ShunXuDemo { public ...
- sqlserver中的循环遍历(普通循环和游标循环)
sql 经常用到循环,下面介绍一下普通循环和游标循环 1.首先需要一个测试表数据Student
- Javascript基础系列之(六)循环语句(for循环)
如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的. document.write(cars[0] + "<br>"); document ...
- Oracle PL/SQL中的循环处理(sql for循环)
今天来说下Oracle中的循环迭代处理,因为从自己的博客统计中看到,不少网友都搜索了关键字"SQL FOR循环",所以打算在这里说下个人的理解. PL/SQL也和我们常用的编程语言 ...
- 循环嵌套,while循环,穷举迭代循环
一.循环嵌套 简单的就是说,在一个for循环里嵌入多个小for循环. 其中,在打矩形.三角形和乘法口诀表之类的题目中,大for循环一般表示的是行数,其余的小for循环式每一行中的内容. 二.while ...
- jQuery中each的用法之退出循环和结束本次循环
jQuery中each的用法之退出循环和结束本次循环 jQuery中each类似于javascript的for循环 但不同于for循环的是在each里面不能使用break结束循环,也不能使用conti ...
- 慕课网-安卓工程师初养成-4-14 Java 循环语句之多重循环
来源:http://www.imooc.com/code/1497 循环体中包含循环语句的结构称为多重循环.三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环.在二重循环中,外层循环每执行 ...
- Java 循环语句之多重循环
循环体中包含循环语句的结构称为多重循环.三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环.在二重循环中,外层循环每执行一次,内层循环要执行一圈. 如下所示: 例如:使用 * 打印长方形: ...
- §12 循环101-while循环
§12 循环101-while循环 While和for具有一定的可替换性.语法如下: while test body continue终止当次循环,break退出整个循环. 注意while之后要用 ...
随机推荐
- (五)TestNG测试的并发执行详解
原文链接:https://blog.csdn.net/taiyangdao/article/details/52159065 TestNG在执行测试时,默认suitethreadpoolsize=1, ...
- (二)log4j 配置详解
原文链接:https://blog.csdn.net/liupeifeng3514/article/details/79625013 1.配置根logger log4j.rootLogger = de ...
- 初识Redis的数据类型HyperLogLog
前提 未来一段时间开发的项目或者需求会大量使用到Redis,趁着这段时间业务并不太繁忙,抽点时间预习和复习Redis的相关内容.刚好看到博客下面的UV和PV统计,想到了最近看书里面提到的HyperLo ...
- 使用LaTeX输入矩阵
当前各种文本编辑器支持的LaTeX数学公式库大多基于KaTeX,或者在Web中用MathJax的比较多,下面给出一种在Web中输入矩阵的例子 $$\left[ \begin{array}{cccc}a ...
- visual studio 2005/2010/2013/2015/2017 vc++ c#代码编辑常用快捷键-代码编辑器的展开和折叠
visual studio 2005/2010/2013/2015/2017 vc++ c#代码编辑快捷键-代码编辑器的展开和折叠 VS2015代码编辑器的展开和折叠代码确实很方便和实用.以下是展开代 ...
- vc6.0创建文件时,出现很多烫烫烫解决方法
vc6.0创建文件时,出现很多烫烫烫烫解决方法 SWM2烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫.IA 如果项目文件放在桌面上 如:C:\Documents and Settings\txwtec ...
- 11、vue-路由
1.路由: 官方提供一个插件,构建单页面应用,主要实现得功能页面得切换.组件得跳转 2.vue中得路由:vue-router包,如果是脚手架进行搭建得,那么是不需要安装vue-router这个包得,因 ...
- cookie的介绍和使用
一.什么是cookie 是由服务器端生成,发送给客户端(一般指浏览器),浏览器将cookie以键值对的形式保存到某个目录下的文本文件内.下次请求该网站时就把cookie发送回服务器.(cookie就是 ...
- selenium(4)-针对键盘的操作
有哪些键盘操作 删除键 空格键 制表键 回退键 回车键 全选 复制 剪切 粘贴 F1-F12 ......其实就是所有键盘都能模拟,包括alt.shift.insert.delete.home等等等. ...
- const变量的修改
int main(){ const char a[]="hello world"; char *aa=(char *)a; printf("\nthe a address ...