Python 初级 6 循环
一、一个简单的for循环
1 重复做相同的事
for looper in [1, 2, 3, 4, 5]: print("hello")
1 looper的值从1开始, 所以looper = 1
2 对应列表中的每一个值,这个循环会把这个循环块中的所有工作完成一次
3 每次执行循环块前,变量looper会赋为这个列表中的下一个值
计数循环:重复一定次数的循环,称为计数循环
2 重复做稍微不同的事
每次for循环做不同的事
for looper in [1, 2, 3, 4, 5]: print(looper)
中括号做什么用?python就是利用中括号以及数之间的逗号来建立列表
利用循环做点有意义的事:打印9的乘法表:
for looper in [1, 2, 3, 4, 5, 6, 7, 8, 9]: print(9,"*",looper, "=", 9 * looper)
3 没有数字的计数:
for name in ["李老师", "王老师", "李老师"]: print(name, "说:同学们好")
二、一条捷径 :range()函数
1、重写9的乘法表:
for looper in range(1, 10): print(9,"*",looper, "=", 9 * looper)
2、range()函数的通常用法:
通常记数方式,从0开始,我们计算机进行运算时,通常以0为起点。
for i in range(0, 5): print("hello")
3、range()简写
for i in range(5): print("hello")
三、跳出循环
break
for name in ["李老师", "王老师", "李老师"]: print(name, "说:同学们好") if name == "李老师": break
四、字符串格式化
"{}说:同学们好".format("李老师")
改写前面的代码:
for name in ["李老师", "王老师", "李老师"]: print(name, "说:同学们好")
五、小结:
1 for循环
2 range()函数, 计数循环的一个捷径
3 跳出循环关键字: break
4 字符串格式化””.format()
六、课后练习
1 编写一个程序,显示一个乘法表。开始时询问用户显示哪个数的乘法表,交互如下:
系统询问:你要打印哪个数的乘法表:
用户输入3,则打印3的乘法表,用户输入5,就打印5的乘法表
输出如下:
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50
2 原先的乘法表增加一个功能,当用户输入完要打印的某个数的乘法表后,再询问要乘到几?然后按照用户的输入,打印出乘法表。
交互如下:
系统询问:你要打印哪个数的乘法表
用户输入某个数(假设用户输入6)
系统再询问:最大乘到几
用户输入最大可乘到几(假设用户输入最大可乘到10)
系统输出如下:
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 6 * 7 = 42 6 * 8 = 48 6 * 9 = 54 6 * 10 = 60
3 猜数游戏,玩家猜一个1到100的数,共有6次猜数机会,每猜一次系统会提示比生成的数大或是小,猜对提示玩家赢了,猜错了计算猜的次数,若达到6次,提示玩家输了。
提示:秘密数可用如下语句生成:
import random secret = random.randint(1, 100)
七、参考答案
1
num = int(input("你要打印哪个数的乘法表:")) for i in range(1, 11): print("{} * {} = {}".format(num, i, num * i))
2
sel_num = int(input("你要打印哪个数的乘法表:")) max_num = int(input("最大乘到几:")) for i in range(1, max_num + 1): print("{} * {} = {}".format(sel_num, i, sel_num * i))
3
import random secret = random.randint(1, 100) print("请猜一个1到100的数,你有6次机会") success = 0 for i in range(6): guess = int(input("请猜数:")) if guess < secret: print("你猜的数太小了") elif guess > secret: print("你猜的数太大了") else: success = 1 break if success == 1: print("恭喜你,你猜对了") else: print("对不起,你猜错了,秘密数为:", secret)