课时9 了不起的分支和循环3

一、while循环语句

Python的while循环跟if条件分支类似,在条件为真的情况下,执行一段代码,不同的是,只要条件为真,while循环会一直重复执行那段代码,把这段代码称为循环体。

二、 for循环语句

虽然说Python是由C语言编写而来的,但是Ta的for循环跟C语言的for循环不太一样,Python的for循环显得更为智能和强大!这主要表现在它会自动调用迭代器的next()方法,会自动捕获StopIteration异常并结束循环,所以这更像是一个具有现代化气质的for循环结构。  

三、range()

range()作为Python的内置BIF,经常同for循环一起出现,用作计数循环

 

只传递一个参数的range(),例如range(4),它会将一个参数默认设置为0,生成0~4的所有数字。(注:包括0但不包括5)

传递两个参数的range(): 

传递三个参数的range(): 

四、break

 break语句的作用是终止当前循环,跳出循环体。举个例子:

五、continue

continue语句的作用是终止本轮循环并开始下一轮循环(这里要注意的是:在开始下一轮循环之前,会先测试循环条件)举个例子: 

 

六、课后题

测试题:

0. 下面的循环会打印多少次"I Love FishC"?

1

2

for in range(0102):

    print('I Love FishC')

1. 下面的循环会打印多少次"I Love FishC"?

1

2

for in 5:

    print('I Love FishC')

2. 回顾一下 break 和 continue 在循环中起到的作用? 
3. 请谈下你对列表的理解?
4. 请问 range(10) 生成哪些数?
5. 目测以下程序会打印什么?

1 while True:
2     while True:
3         break
4         print(1)
5     print(2)
6     break
7 print(3)

6. 什么情况下我们要使循环永远为真?

7. 【学会提高代码的效率】你的觉得以下代码效率方面怎样?有没有办法可以大幅度改进(仍然使用while)?

i = 0
string = 'ILoveFishC.com'
while i < len(string)):
    print(i)
    i += 1

 答案:

0.

1.会出现报错。因为Python中in是成员资格运算符,不同于C中的for,Python中的for更像是foreach。

2.break是终止当前循环,跳出循环体;continue是结束当前循环,继续下一次循环,在下一次啊循环之前先检查循环条件。

4.

5.会打印:2

                 3

6.while Ture:
    循环体
 
同样用于游戏实现,因为游戏只要运行着,就需要时刻接收用户输入,因此使用永远为真确保游戏“在线”。操作系统也是同样的道理,时刻待命,操作系统永远为真的这个循环叫做消息循环。另外,许多通讯服务器的客户端/服务器系统也是通过这样的原理来工作的。 
所以永远为“真”虽然是“死循环”,但不一定是坏事,再说了,我们可以随时用 break 来跳出循环!

7。这段代码之所以“效率比较低”是因为每次循环都需要调用一次 len() 函数。可以改为

.

动动手:

0. 设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内。

1. 编写一个程序,求 100~999 之间的所有水仙花数。

如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。

2. 三色球问题

有红、黄、蓝三种颜色的求,其中红球 3 个,黄球 3 个,绿球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。

答案:

0.

1.version1

version2思路有些难

2.

猜你喜欢

转载自blog.csdn.net/qq_37907454/article/details/86507717