一、遍历循环
一般格式: for 元素 in 刻迭代对象:
缩进的代码块(执行语句)
可迭代对象:
1. 直接迭代——列表[],元祖(),集合{},字符串
2. 交换迭代——字典{key:value}
3. range() 对象——用于构造数字序列
例题:打印输出九九乘法表
分析:这里我们使用for循环实现,第一层循环控制乘法表的层数,第二层循环控制乘法表每一层的乘积的实现
for i in range(1,10): # 从1连续取到9
for j in range(1,i+1): # 定义乘数j,从1取到i+1
print("{}*{}={}".format(j,i,i*j),end=" ") #第i层乘法口诀的实现
print()
打印乘法表如下图:
二、无限循环while
一般格式: while 判断条件
缩进代码块(执行语句)
风向标flag:可以代替判断条件控制 while 循环,flag 的值为 True 时循环继续进行,要使得循环结束可以修改 flag 的值为 False;当有多层嵌套的while循环时,内层循环使用flag=False 时,循环将会逐层退出。
例题:通过input,动态输入高三二班学生学号、姓名和性别
- 以学号为键,姓名和性别为值,将学生信息存储在字典student_of_grade3_class2中
- 当通过input输入字母"Q"或"q"时,程序结束
- 程序结束后,对学生信息进行遍历输出
student_of_grade3_class2={}
while True:
id=input("请输入高三二班学生学号:")
if id in ("Q","q"):
break
name=input("请输入高三二班学生姓名:")
sex=input("请输入高三二班学生性别:")
student_of_grade3_class2[id]=(name,sex)
print(student_of_grade3_class2)
for k,v in student_of_grade3_class2.items():
print(k,v)
#输出结果
请输入高三二班学生学号:2001
请输入高三二班学生姓名:李磊
请输入高三二班学生性别:男
请输入高三二班学生学号:2002
请输入高三二班学生姓名:李莉
请输入高三二班学生性别:女
请输入高三二班学生学号:q
{'2001': ('李磊', '男'), '2002': ('李莉', '女')}
2001 ('李磊', '男')
2002 ('李莉', '女')