本章学习嵌套与可变循环
###11.1 嵌套循环
比如要实现打印3个乘法表,就是一个简单的嵌套循环例子。对外循环的每次迭代,内循环都要完成它的所有迭代。
###11.2 可变循环
如果在一个for循环的range()函数中使用常数(固定的数),程序运行时循环总会运行相同的次数,此时我们称循环次数是硬编码的。
如果把循环次数换成一个变量,循环次数就可以是可变的。
###11.3可变嵌套循环
嵌套循环+可变量
eg:
numLines = int(input("How many lines of stars do you want?"))
numStars = int(input("How many stars per line?"))
for line in range(0,numLines):
for star in range(0,numStars):
print '*',
print
###11.4更多可变嵌套循环
嵌套的循环可以有很多层
###11.5使用嵌套循环
嵌套循环最擅长的工作就是得出一系列所有可能的排列和组合。
=========================================================
前面几章中原书都给了很多程序例子,最好自己敲下来跑一跑,在学习总结的过程中,我没有将前面这些程序附上来。
动手试试:
import time
timer = int(input(“输入”))
print (‘Countdown timer: How many seconds?’,timer)
for i in range(timer,0,-1):
print (i,end=’ ‘)
for k in range(i):
print ("*",end=’ ')
print( )
time.sleep(1)
print (‘BLAST OFF’)
创建倒计时定时器,并且每行打印各个数和一行星号
注意:
python2中,如果把输出放在同一行,只需要在其后加一个逗号,如:
for i in range(4,1,-1):
print i,
for star in range (i):
print '*',
print
python3中,需要添加end=’,’ 如:
for i in range(0, 5):
print('*', end=",")
循环内 打print 或print()表示换行 如:
for i in range(timer,0,-1):
print (i,end=' ')
for k in range(i):
print ("*",end=' ')
print( )
结果可以如下:
2 * *
1 *