if语句与while语句
共 1971字,需浏览 4分钟
·
2020-08-30 22:52
一、条件分支结构: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()
《数据科学与人工智能》公众号推荐朋友们学习和使用Python语言,需要加入Python语言群的,请扫码加我个人微信,备注【姓名-Python群】,我诚邀你入群,大家学习和分享。
关于Python语言,有任何问题或者想法,请留言或者加群讨论。