if语句与while语句
一、条件分支结构:if语句
• 让计算机能够自动根据当前的状况来决定执行哪些语句
• 条件分支结构的2个要素:判断条件、一组语句
• if语句首先计算判断条件:如果得到True,就执行这组语句,否则,不执行开大。
二、if语句的附加要素:elif和else
• if语句可以附加两个子句
• else子句可以指定在判断条件不成立的时候,要执行的一组语句
• elif子句可以在判断条件不成立的时候,再继续判断另一个条件,相当于else:if
三、条件循环:while语句
• 循环前提是一个判断条件:逻辑类型表达式
• while语句每次都计算表达式:如果结果为“真”True,就执行循环体,然后再计算条件;如果结果为“假”False,就退出循环
• 条件循环一般用在事先不确定循环的次数的情况,但知道循环什么时候应该结束
四、条件循环和条件分支有什么不同?
五、break语句
• 有时候需要立刻中断循环
• break语句立刻中断退出循环:如果有多个循环嵌套,仅退出直接包含它的那一层循环
• 可以用在for和while循环语句中
• 我们试着用for + break语句重写阶乘的例子:
六、continue语句
• 有时候在执行循环体语句的时候,需要忽略余下的语句,直接跳到下一次循环
• continue语句立刻跳到下一次循环:仅作用于直接包含它的循环语句
• 可以用在for和while语句
七、问题求解策略:迭代与枚举
• 编程解决问题,最简单最基本的方法,是从所有可能的 情况中找到答案,称为“枚举策略”
• 枚举策略解决问题的一般过程
① 确定问题的解所包含的变量;
② 确定每个变量可能的取值范围;
③ 枚举所有变量的取值组合;
④ 对每一个取值组合进行检验;
⑤ 输出符合条件的取值组合作为问题的解。
练一练
求解周瑜的年龄
• 确定年龄的范围:而立之年,早逝两位数
• 枚举所有年龄值
• 逐个检验是否符合条件:十位比个位小3 ,个位平方等于年龄
• 输出问题的解
上期参考答案
import turtle
import math
t1 = turtle.Turtle()
t2 = turtle.Turtle()
t3 = turtle.Turtle()
pi = 3.14159
turtle.setworldcoordinates(-2*pi,-2*pi,2*pi,2*pi)
t1.pencolor("blue")
t2.pencolor("red")
t3.pencolor("yellow")
t1.pensize(3)
t2.pensize(3)
t3.pensize(3)
t1.penup()
t1.goto(-2*pi,0)
t1.pendown()
t1.write("y = math.sin(x)", font = ("consolas",20,"normal"))
for xn in range(int(-2*pi*100), int(2*pi*100), 10):
x = xn/100
y = math.sin(x)
t1.goto(x, y)
t2.penup()
t2.goto(-2*pi,1)
t2.pendown()
t2.write("y = math.cos(x)", font = ("consolas",20,"normal"))
for xn in range(int(-2*pi*100), int(2*pi*100), 10):
x = xn/100
y = math.cos(x)
t2.goto(x, y)
t3.penup()
t3.goto(-2*pi,2)
t3.pendown()
t3.write("y = 2*math.cos(2*x)", font = ("consolas",20,"normal"))
for xn in range(int(-2*pi*100), int(2*pi*100), 10):
x = xn/100
y = 2*math.cos(2*x)
t3.goto(x, y)
t1.hideturtle()
t2.hideturtle()
t3.hideturtle()
turtle.done()
- Sqlite的多表连接更新
- Enterprise Library 4.1学习笔记6----加密应用程序块
- 浅谈数据库主键策略
- nginx应用总结(1)--基础认识和应用配置
- nginx反向代理tomcat访问时浏览器加载失败,出现 ERR_CONTENT_LENGTH_MISMATCH 问题
- Enterprise Library 4.1学习笔记5----实体验证程序块
- Python防止sql注入
- 电工学PLC编程的入门建议
- 人工智能、区块链、图灵测试……这30个大数据热词你真的都懂吗?
- Enterprise Library 4.1学习笔记4----缓存应用程序块
- 设置py文件的路径
- jenkins中通过git发版操作记录
- Enterprise Library 4.1学习笔记3----安全应用程序块
- mysql密码遗忘和登陆报错问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 美颜算法之自动祛斑算法实现 | 案例分享
- 附025.kubeadm部署Kubernetes更新证书
- 消息提示时间的格式化例子(小程序)
- 【Spark】用scala2.11编译打包构建镜像
- 移动端事件穿透的原理与解决方案
- 你被追尾了
- 深入理解JavaScript作用域
- 《闲扯Redis七》Redis字典结构的底层实现
- 深入理解JavaScript闭包之什么是闭包
- 按需取余
- Cypress 获取table内容动态tr和td
- Java 并发编程之 ConcurrentHashMap 源码分析(小长文)
- python的安装
- 【源码分析】SpringBoot2中取代Druid的超级连接池:HikariCP之ConcurrentBag
- HTML5项目实战之旅行社网站——PC端固定布局