1.11 流程控制之 循环

var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?9cae5942a3c39f3b6fcf0a32b00277e2"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();

本节重点:

  • 使学生理解和掌握while循环的使用

  • 掌握break continue 控制语句

  • 能独自己写出后面的2个小练习

本节时长需控制在45分钟之内

While 循环(3分钟)

上节课我们已经学会用if .. else 来猜年龄的游戏啦,但是只能猜一次就中的机率太小了,如果我想给玩家3次机会呢?就是程序启动后,玩家最多可以试3次,这个怎么弄呢?你总不会想着把代码复制3次吧。。。。

age_of_oldboy = 48

guess = int(input(">>:"))

if guess > age_of_oldboy :
    print("猜的太大了,往小里试试...")

elif guess < age_of_oldboy :
    print("猜的太小了,往大里试试...")

else:
    print("恭喜你,猜对了...")

#第2次
guess = int(input(">>:"))

if guess > age_of_oldboy :
    print("猜的太大了,往小里试试...")

elif guess < age_of_oldboy :
    print("猜的太小了,往大里试试...")

else:
    print("恭喜你,猜对了...")

#第3次
guess = int(input(">>:"))

if guess > age_of_oldboy :
    print("猜的太大了,往小里试试...")

elif guess < age_of_oldboy :
    print("猜的太小了,往大里试试...")

else:
    print("恭喜你,猜对了...")

即使是小白的你,也觉得的太low了是不是,以后要修改功能还得修改3次,因此记住,写重复的代码是程序员最不耻的行为。

那么如何做到不用写重复代码又能让程序重复一段代码多次呢? 循环语句就派上用场啦

语法(10-15分钟)

简单吧, while 就是当的意思,当山峰没有棱角的时候,当河水。。。,sorry , while 指 当其后面的条件 成立 ,就执行while下面的代码

写个让程序从0打印到100的程序 ,每循环一次,+1

输出

如果我想实现打印1到100的偶数怎么办呢?

那就得先搞清,怎么判断一个数字是偶数,能被2整除的就是偶数对不对, 怎么判断能否被2整除?简单,除完2没有余数就是啦。记得我们学的取模算运算符么?

放到我们的循环程序里

输出

此处一定要停下来,让学生自己默写一遍

死循环 (3分钟)

有一种循环叫死循环,一经触发,就运行个天荒地老、海枯石烂。

while 是只要后边条件成立(也就是条件结果为真)就一直执行,怎么让条件一直成立呢?

循环中止语句 (8-10分钟)

如果在循环的过程中,因为某些原因,你不想继续循环了,怎么把它中止掉呢?这就用到break 或 continue 语句

  • break用于完全结束一个循环,跳出循环体执行循环后面的语句

  • continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环

例子:break

输出

例子:continue

输出

while ... else .. (3-5分钟)

与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句

while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句

输出

如果执行过程中被break啦,就不会执行else的语句啦

输出

小节练习

练习1:猜年龄游戏 (10分钟)

要求:

  1. 允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出

练习2:猜年龄游戏升级版 (10分钟)

要求:

  1. 允许用户最多尝试3次

  2. 每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序

  3. 如何猜对了,就直接退出

Last updated

Was this helpful?