循环结构用来重复执行一条或多条语句,表达这样的逻辑:如果符合条件,则反 复执行循环体里的语句,在每次执行完后都会判断一次条件是否为True,如果 为 True 则重复执行循环体里的语句,循环体里面的语句至少应该包含改变条件表达式的语句,以使循环趋于结束;否 则,就会变成一个死循环。
While循环
语法结构
while 条件表达式:
循环体语句
练习
1.用while循环打印从1-10的数字
num = 1 while num <= 10: print(num) num += 1
运行结果:
1
2
3
4
5
6
7
8
9
10
2.用while循环计算出1-100的和,其中偶数相加,奇数相加
1 num = 1 2 sum = 0 3 sum_ou = 0 4 sum_ji = 0 5 while num <= 100: 6 sum += num 7 if num%2==0: 8 sum_ou += num 9 else: 10 sum_ji += num 11 num += 1 12 print("总和",sum) 13 print("偶数总和",sum_ou) 14 print("奇数总和",sum_ji)
运行结果:
总和 5050
偶数总和 2550
奇数总和 2500
for循环
语法结果:
for 变量 in 可迭代对象:
循环体语句
可迭代对象
python中的可迭代对象有:
1.序列:字符串、元组、列表、字典
2.迭代器对象
3.生成器函数
4.文件对象
1 a = (2,4) 2 b = "fu" 3 c = ["fu",18] 4 d = {"name":"kang",'age':18} 5 for x in a: #循环元组 6 print(x) 7 print("================") 8 for x in b:#循环字符串 9 print(x) 10 print("================") 11 for x in c:#循环列表 12 print(x) 13 print("================") 14 for x in d: #循环字典key的值 15 print(x) 16 print("================") 17 for x in d.keys(): #循环字典key的值 18 print(x) 19 print("================") 20 for x in d.values(): #循环字典value的值 21 print(x) 22 print("================") 23 for x in d.items(): #循环字典的键值对 24 print(x)
运行结果:
2
4
================
f
u
================
fu
18
================
name
age
================
name
age
================
kang
18
================
('name', 'kang')
('age', 18)
循环练习题
1 #打印0-100的奇数和 2 3 #第一种方式 4 sum_ji = 0 5 for i in range(101): 6 if i%2!=0: 7 sum_ji += i 8 print(sum_ji) 9 #第二种方式 10 sum_j = 0 11 j = (i for i in range(101) if i%2!=0) 12 for i in j: 13 sum_j += i 14 print(sum_j) 15 #第三种方式 16 i = 0 17 sum_i = 0 18 while i < 101 : 19 if i%2!=0: 20 sum_i += i 21 i += 1 22 print(sum_i) 23 #第四种方式 24 print(sum(list(filter(lambda x:x%2==1,range(1,101))))) 25 #第五种方式 26 print(sum(range(1,101,2)))
# 猜数字,猜对,打印猜对信息,退出程序 # 最多连续猜三次,连续错三次后询问是否继续玩游戏,是,继续猜,否,退出程序 save_num = "2" sure = "是" count = 0 while True: num = input("请输入数字:") count += 1 if num == save_num: print("正确!!!") break elif count%3==0: print("是否游戏?") sure_save = input() if sure_save == sure: continue else: break
#登录 # 如果登录成功,输出欢迎信息,退出程序 # 如果错误次数3次,退出程序 name_save = "test" pwd_save = "123456" count = 0 while True: count += 1 name = input("请输入名称:") pwd = input("请输入密码:") if name == name_save and pwd ==pwd_save: print("欢迎光临") break elif count == 3: print("三次错误!程序退出") break else: print("输入错误!!!请重新输入")
#九九乘法表 for i in range(1,10): for j in range(1,i+1): print("{0}*{1}={2}".format(i,j,i*j),end=" ") print()
运行结果:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81