本期内容详解:
1.while循环
2.for循环
虽然说python是由C语言编写而来的,但是Ta的for循环跟C语言的for循环不太一样,python的for循环显得更为只能和强大~
语法:
for 目标 in 表达式:
循环体
3.range()
语法:range([start],stop[,step=1])
这个BIF有三个参数,其中用括号括起来的两个表示这两个参数是可选的。
step=1表示第三个参数的值默认值是1.
range这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列
4.两个关键的语句(跳出循环体)
break
continue
典型课后题
回顾一下 break 和 continue 在循环中起到的作用?
break 为条件成立时终止循环,结束程序。continue为条件成立时终止循环回到循环体开始位置,如果条件为假时候执行continue下面的语句。
请谈下你对列表的理解?
打了激素的数组。
请问 range(10) 生成哪些数?
0,1,2,3,4,5,6,7,8,9
目测以下程序会打印什么?
while True:
while True:
break
print(1)
print(2)
break
print(3)
答:
2
3
【学会提高代码的效率】你的觉得以下代码效率方面怎样?有没有办法可以大幅度改进(仍然使用while)?
i = 0
string = 'ILoveFishC.com'
while i < len(string)):
print(i)
i += 1
答:
i = 0
string = 'ILoveFishC.com'
length = len(string)
while i < length:
print(i)
i += 1
编写一个程序,求 100~999 之间的所有水仙花数。
如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。
for i in range(100,1000):
sum = 0
temp = i
while temp:
sum = sum + (temp%10) **3
temp //= 10
if sum == i:
print(i)
三色球问题
有红、黄、蓝三种颜色的球,其中红球 3 个,黄球 3 个,蓝球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。
print('red\tyellow\tblue')
for red in range(0, 4):
for yellow in range(0, 4):
for blue in range(2, 7):
if red + yellow + blue == 8:
print(red, '\t', yellow, '\t', blue)
注释:range(2, 7)是产生[2, 3, 4, 5, 6]5个数,绿球不能是1个,因为如果绿球是1个的话,红球 + 黄球需要有7个才能符合题意,而红球和黄球每种只有3个,因此是range(2, 7)