python基础--流程控制
if判断:(if语句有很多种,选择使用哪种这取决于要测试的条件的数量)
if:
if 条件: 代码1 代码2 代码3 ... # 代码块(同一缩进级别的代码,例如代码1、代码2、代码3是相同缩进的代码,这三个代码组合在一起就是一个代码块,相同的缩进的代码会从上往下的运行)
if...else:
if 条件: 代码1 代码2 代码3 ... else: 代码1 代码2 代码3 ... # if...else表示if成立代码成立会干什么,else不成立会干什么。
if...elif...else:
if 条件1: 代码1 代码2 代码3 ... elif 条件2: 代码1 代码2 代码3 ... elif 条件3: 代码1 代码2 代码3 ... ... else: 代码1 代码2 代码3 ... # if...elif...else表示if条件1成立干什么,elif条件2成立干什么,elif条件3成立干什么,elif...否则干什么。
if嵌套:
# if的嵌套 cls = 'human' gender = 'female' age = 18 is_success = True if cls == 'human' and gender == 'female' and age > 16 and age < 22: print('开始表白') if is_success: print('走吧') else: print('我逗你玩呢') else: print('阿姨好')
练习:
# 模拟登陆注册 user_name = 'william' password = '123' uname = input('username').strip() pwd = input('password').strip() if uname == user_name and pwd == password: print('login successful') else: print('username or password error')
# 成绩评判 score = input('you score') score = int(score) if score >= 90: print('优秀') elif score >= 80: print('良好') elif score >= 70: print('普通') else: print('差')
# 上下班 ''' 如果:今天是Monday,那么:上班 如果:今天是Tuesday,那么:上班 如果:今天是Wednesday,那么:上班 如果:今天是Thursday,那么:上班 如果:今天是Friday,那么:上班 如果:今天是Saturday,那么:出去浪 如果:今天是Sunday,那么:出去浪 ''' today = input('what day is it today').strip() if today in ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']: print('今天要上班') elif today in ['Saturday', 'Sunday']: print('今天放假‘) else: print('请理性输入')
while循环:重复的做某一件事情,直到某个节点的到来
while+break:break的意思就是终止掉当前层的循环,执行其它的代码
# break语法演示 while True: print('1') print('2') break print('3') print('4') # 上面仅仅是演示break用法,实际不可能像这样去写,循环结束应该取决于条件
user_name = 'william' password = '123' while True: inp_user = input('username').strip() inp_pwd = input('password').strip() if inp_user == user_name and inp_pwd == password: print('login successful') break else: print('username or password error') print('退出while循环')
while+continue:continue的意思是种植本次循环,直接进入下一次循环
需求变循环打印1,2,3,4,5,7,8,9,数字6不打印
n = 1 while n < 10: if n == 6: n += 1 # 如果注释这一行,则会进入死循环 continue print(n) n += 1
ps:continue不能加在最后一步执行的代码,因为代码加上去执行将会毫无意义
while循环嵌套:进入一层循环之后又会有新的功能冒出来,所以用到了while循环的嵌套
user_name = 'william' password = '123' while True: inp_user = input('username').strip() inp_pwd = input('password').strip() if inp_user == user_name and inp_pwd == password: print('login successful') while True: cmd = input('请输入要执行的命令').strip() print('当前执行了%s命令' % cmd) if cmd == 'q': break break else: print('username or password error') print('退出while循环')
while+else(了解):else会在while没有被break时才会执行else中的代码
for循环:可以不依赖索引循环取值,循环输出某个容器中的指定范围内的元素
"""
python2:
range:其实就是一个大列表
xrange:就类似一个生成器
python3:
range: 就是一个生成器
"""
for+break:跳出本层循环
# for+break l = ['a', 'b', 'c', 'd'] for i in l: if i == 'b': break print(i)
for+ continue:跳出本次循环进入下次循环
# for+continue l = ['a', 'b', 'c', 'd'] for i in l: if i == 'b': continue print(i)
练习:九九乘法表
''' 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 ... 9*1=9.................9*9=81 ''' for i in range(1, 10): for j in range(1, i+1): print('%s * %s = %s' % (i, j, i*j), end=' ') print()