(1)理解和掌握break、continue语句的功能和用法,准确区分两者的不同;
(2)学会运用break、continue语句编写程序,解决实际问题。
教学重点:理解和掌握break、continue语句的功能和用法。
教学难点:学会运用break、continue语句编写程序,解决实际问题。
学会利用网络自主开展学习,并且自己安装好Python软件。
情境:很多程序登录时,需要注册后输入用户名和密码,如最常见的微信、QQ、钉钉、淘宝……允许多次输入用户名和密码,检验后给出相应提示,若用户名不存在,显示"用户名不存在",然后让用户重新输入;若密码不正确,显示"密码错误",然后让用户重新输入。直至用户名和密码检验通过,方可成功登录。
思考:如何利用Python语言编写程序模拟检验用户名和密码?
假设某用户在某程序中注册登录的用户名为:Joy;密码为:luck2020。当输入的用户名存在且输入密码正确时,登陆成功;当输入的用户名不存在或密码有错时,显示对应的提示信息且要求重新输入用户名和密码。
观察示意图,分析要点:
1.当用户名不存在时,是否继续进行密码的验证?
若用户名不存在,跳过密码验证,直接进入下一次循环。
2.当密码错误时,如何处理?
当密码错误时,循环进入下一次,进行新一轮的验证。
观察示意图,尝试描述“检验用户名和密码”问题的算法。
1.算法中需要使用到什么结构?
循环结构
2.算法运行过程是怎样的?
1接收用户输入的用户名和密码;
2先判断用户名,当用户名不存在时,输出提示信息后,跳过循环体中后面的语句,直接返回循环顶部,要求用户再次输入用户名和密码,进入下一次循环判断;
3当用户名存在时,执行循环体中后面的语句,判断密码是否正确;
4当密码不正确时,直接返回循环顶部,要求用户再次输入用户名和密码,进入下一次循环判断;
5当密码正确时,程序跳出while循环,执行循环后的语句,输出”登录成功!”
3.该循环结构算法与以往学过的循环结构算法有什么不同?
该循环算法具有特殊要求:
1根据条件需要跳出某次循环,直接进入下一次循环;
2根据条件中途组要跳出循环,直接执行循环结束后的语句。
想一想:
(1)如何实现跳过本次循环直接进入下一次循环?
(2)如何实现中途跳出循环,执行循环后的语句?
微课1:break和continue语句
通常,for和while循环的每一次迭代都会将其循环体内的所有语句执行一遍。不过,有时可能希望在中间离开循环,也就是for循环结束计数之前,或者while循环找到结束条件之前。有两种方法来做到:可以用continue直接跳到循环体的顶部,并重新开始下一次迭代;或者用break完全中止循环。
1.提前跳转——continue
如果希望停止执行循环的当前迭代,提前跳到下一次迭代,你需要的就是一条continue语句。
结合实例分析:
当用户名不存在时,输出提示信息后,跳过循环体中后面的语句,直接返回循环顶部,要求用户再次输入用户名和密码,进入下一次循环判断;
2.跳出——break
有时,循环的任务可能在其最后一次迭代完成之前就已经完成了。这就需要用break语句直接跳出循环,执行循环后语句。
结合实例分析:
当密码正确时,程序跳出while循环,执行循环后的语句,输出”登陆成功!”
微课2:编程实现
任务:根据分析与学习,编写程序实现模拟检验用户名和密码的过程。
电影票问题:
有家电影院根据观众的年龄收取不同的票价:不到3岁的观众免费;3~12岁的观众为20元;超过12岁的观众为45元。请编写一个程序,在其中询问用户的年龄,并指出其票价,输入0时结束程序。
课后思考并完成。
知识点及能力 | 学生自评 | 小组互评 |
分析问题,设计算法 | 【1】【2】【3】【4】 | 【1】【2】【3】【4】 |
break和continue语句学习 | 【1】【2】【3】【4】 | 【1】【2】【3】【4】 |
编写代码实现算法 | 【1】【2】【3】【4】 | 【1】【2】【3】【4】 |
小组讨论勇于发表意见 | 【1】【2】【3】【4】 | 【1】【2】【3】【4】 |
梳理并综合讨论观点 | 【1】【2】【3】【4】 | 【1】【2】【3】【4】 |
实践操作能力 | 【1】【2】【3】【4】 | 【1】【2】【3】【4】 |