一、if...else分支
1、什么是if判断
判断一个条件如果成立则如何,不成立则如何
2、为何要有if判断
让计算机能像人一样具有判断能力
语法1:if...else
1 if 判断条件:
2 代码块1
3 else:
4 代码块2
语法2:if嵌套
1 if 条件1:
2 if 条件2:
3 代码块1
4 代码块2
语法3:if...elif...else
1 if 条件1:
2 代码块1
3 elif 条件2:
4 代码块2
5 else:
6 代码块3
二、while 循环
1、什么是循环
循环指的是一个重复做某件事的过程
2、为什么要有循环
为了让计算机能够像人一样重复做某件事
while 循环又叫条件循环,循环的次数取决于条件
语法:
1 while 判断条件:
2 代码块
上面这个循环是一个死循环,因为条件永远成立,会不停的执行下去,要想结束while循环,有两种方式:
方式一:操作 while 循环的条件让其结束。即设置一个标志位让其为 True,一旦想终止循环,让标志位为 False,等到下一次循环判断标志位不成立,就会结束循环
方式二:break 强行终止本层循环
例如:用户登录程序,登录失败超过三次则退出
方式一:
1 print("start...")
2 count = 0
3
4 while count < 3:
5 username = input("Please input your username: ")
6 password = input("Please input your password: ")
7 if username == 'qiuxi' and username == '123':
8 print('登录成功')
9 break
10 else:
11 print('登录失败, 请重新登录')
12 count += 1
13
14 print('end....')
运行结果:
start...
Please input your username: dsa
Please input your password: dsa
登录失败, 请重新登录
Please input your username: ei
Please input your password: qi
登录失败, 请重新登录
Please input your username: dsa
Please input your password: d
登录失败, 请重新登录
end....
方式二:
1 print("start...")
2 count = 0
3
4 while True:
5 if count == 3:
6 print("输入错误过多")
7 break
8 username = input("Please input your username: ")
9 password = input("Please input your password: ")
10 if username == 'qiuxi' and password == '123':
11 print('登录成功')
12 break
13 else:
14 print('登录失败, 请重新登录')
15 count += 1
16
17 print('end....')
运行结果:
start...
Please input your username: xi
Please input your password: 534
登录失败, 请重新登录
Please input your username: ha
Please input your password: ha
登录失败, 请重新登录
Please input your username: ca
Please input your password: dsa
登录失败, 请重新登录
输入错误过多
end....
continue:表示结束本次循环,进入下一次循环
1 # 打印1 2 3 5
2 count = 1
3 while count < 6:
4 if count == 4:
5 count += 1
6 continue
7 print(count, end=' ') # end=' '表示使print不换行打印
8 count += 1
注意:continue的位置,不能将它作为循环体最后一步执行的代码,否则continue不会起到作业
1 while True:
2 print('11111')
3 print('22222')
4 print('33333')
5 continue # continue不起作用
while - else的应用:当while循环正常执行完毕,不被break打断的情况下,会执行else语句的内容
1 print("start...")
2 count = 0
3 while count < 3:
4 username = input("Please input your username: ")
5 password = input("Please input your password: ")
6 if username == 'qiuxi' and username == '123':
7 print('登录成功')
8 break
9 else:
10 print('登录失败, 请重新登录')
11 count += 1
12 else:
13 print("输错的次数过多")
14
15 print('end....')
运行结果:
start...
Please input your username: qi
Please input your password: 43
登录失败, 请重新登录
Please input your username: ad
Please input your password: jhg
登录失败, 请重新登录
Please input your username: cs
Please input your password: 765
登录失败, 请重新登录
输错的次数过多
end....
while循环嵌套
1 name_of_db = 'qiuxi'
2 pwd_of_db = '123'
3 print("start...")
4 count = 0
5 while count < 3:
6 username = input("Please input your username: ")
7 password = input("Please input your password: ")
8 if username == name_of_db and password == pwd_of_db:
9 print('登录成功')
10 while True:
11 print('''
12 1 浏览商品
13 2 添加购物车
14 3 支付
15 4 退出
16 ''')
17 choice = input("请输入你的操作: ")
18 if choice == '1':
19 print("开始浏览商品...")
20 elif choice == '2':
21 print("正在添加购物车...")
22 elif choice == '3':
23 print("正在支付...")
24 elif choice == '4':
25 break
26 break
27 else:
28 print('登录失败, 请重新登录')
29 count += 1
30 else:
31 print("输错的次数过多")
32
33 print('end....')
运行结果:
start...
Please input your username: qiuxi
Please input your password: 123
登录成功
1 浏览商品
2 添加购物车
3 支付
4 退出
请输入你的操作: 1
开始浏览商品...
1 浏览商品
2 添加购物车
3 支付
4 退出
请输入你的操作: 2
正在添加购物车...
1 浏览商品
2 添加购物车
3 支付
4 退出
请输入你的操作: 3
正在支付...
1 浏览商品
2 添加购物车
3 支付
4 退出
请输入你的操作: 4
end....
上面的代码,要想终止循环,每一个while都需要对应一个break,不好配对,使用设置标志位即可控制所有循环终止条件。
1 name_of_db = 'qiuxi'
2 pwd_of_db = '123'
3 print("start...")
4 flag = True
5 count = 0
6 while flag:
7 if count == 3:
8 print("尝试次数过多")
9 break
10 username = input("Please input your username: ")
11 password = input("Please input your password: ")
12 if username == name_of_db and password == pwd_of_db:
13 print('登录成功')
14 while flag:
15 print('''
16 1 浏览商品
17 2 添加购物车
18 3 支付
19 4 退出
20 ''')
21 choice = input("请输入你的操作: ")
22 if choice == '1':
23 print("开始浏览商品...")
24 elif choice == '2':
25 print("正在添加购物车...")
26 elif choice == '3':
27 print("正在支付...")
28 elif choice == '4':
29 flag = False
30
31 else:
32 print('登录失败, 请重新登录')
33 count += 1
34
35 print('end....')
运行结果:
start...
Please input your username: qiuxi
Please input your password: 123
登录成功
1 浏览商品
2 添加购物车
3 支付
4 退出
请输入你的操作: 1
开始浏览商品...
1 浏览商品
2 添加购物车
3 支付
4 退出
请输入你的操作: 4
end....
四、for 循环
Python的for循环主要用于取值,可以遍历任何序列的项目,如一个列表或者一个字符串。
语法:
1 for <variable> in <sequence>:
2 <statements>
3 else:
4 <statements>
range( ) 函数
如果需要遍历数字序列,可以使用内置 range( ) 函数。它会生成数列,例如:
range( )也可以指定区间的值:
也可以使 range 以指定数字开始并指定不同的步长
可以结合 range( ) 和 len( ) 函数以遍历一个序列的索引
补充:Python2中 range( ) 和 Python3中 range( ) 的区别
Python2中 range( ) 函数可创建一个整数列表
Python3 range() 函数返回的是一个可迭代对象(后面会学到),而不是列表类型
但是可以利用 list 函数返回列表