python--流程控制
1、if...else循环
1.1)猜成绩
#!/usr/bin/env python score =input('分数:') score =int(score)
if score >=90: print('优秀') elif score >=80: print('良好') elif score >=60: print('及格') else: print('差')
1.2)用户登录验证
#!/usr/bin/env python name=input('用户名:') password=input('密码:')
if name == 'abc' and password == '123456': print('bean login success') else: print('账号密码错误!')
1.3)根据用户输入内容打印其权限
#!/usr/bin/env python ''' bean --> 超级管理员 tom --> 普通管理员 jack,rain --> 业务主管 其他 --> 普通用户 ''' name=input('请输入用户名:')
if name == 'bean': print('超级管理员') elif name == 'tom': print('普通管理员') elif name == 'jack:' or name == 'rain:': print('业务主管') else: print('普通用户')
1.4)猜年龄
#!/usr/bin/env python my_age= 48
guess = int(input('猜年龄游戏:'))
if guess > my_age: print("大了") elif guess < my_age: print("小了") else: print("猜对")
2、while循环
2.1)猜年龄游戏升级版,允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
#!/usr/bin/env python #方法一 my_age=48 count=0 while count < 3: guess=int(input('age:')) if guess == my_age: print('you got it') break count += 1
#!/usr/bin/env python #方法二 my_age = 48 count = 0 while count < 3: guess = int(input('猜年龄游戏:')) if guess == my_age: print("猜对了") break elif guess < my_age: print("小了") else: print("大了") count +=1 else: print("三次机会已用完,游戏结束")
#!/usr/bin/env python #方法三 ''' 允许用户最多尝试3次 每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序 #如何猜对了,就直接退出 ''' age_of_oldboy=48 count=0 while True: if count ==3: choice=input('继续(Y/N):') if choice == 'Y' or choice == 'y': count = 0 else: break guess=int(input('age:')) if guess ==age_of_oldboy: print('you got it') break count +=1
2.2)死循环
#!/usr/bin/env python num=0 while True: print('count',num) num+=1
2.3)循环10次退出
#!/usr/bin/env python num=0 while True: print('count',num) num+=1 if num == 10: print("退出循环") break
2.4)嵌套循环
1 循环验证用户输入的用户名与密码 2 认证通过后,运行用户重复执行命令 3 当用户输入命令为quit时,则退出整个程序
#!/usr/bin/env python #方法一 name='abc' password='123' while True: inp_name=input('用户名:') inp_password=input('密码:') if inp_name == name and inp_password == password: while True: cmd=input('cmd:') if not cmd:continue if cmd == 'quit': break print('run %s' %cmd) else: print('用户名或密码错误') continue break #方法二,使用tag name = 'abc' password = '123' tag=True while tag: inp_name = input('用户名:') inp_password = input('密码:') if inp_name==name and inp_password==password: print('登录成功') while tag: cmd=input('cmd:') if not cmd:continue if cmd == 'quit': break print('run %s' %cmd) else: print('用户名或密码错误') break
3、for循环
3.1)循环10次
#!/usr/bin/env python for i in range(10): print("loop",i)
3.2)打印九九乘法表
#!/usr/bin/env python for i in range(1,10): for j in range(1,i+1): print('%s*%s=%s' %(i,j,i*j),end=' ') print()
3.3)打印金字塔
#!/usr/bin/env python n=eval(input("输入打印行数:")) for i in range(1,n+1): for j in range(n-i): print(' ',end='')#在一行中连续打印多个空格 for k in range(2*i-1): print('*',end='')#在一行中连续打印多个空格 print()
3.4)continue和break
#!/usr/bin/env python #continue:遇到小于5的循环次数就不走了,直接跳入下一次循环 for i in range(10): if i<5: continue #不往下走了,直接进入下一次loop print("loop",i) #break: 遇到大于5的循环次数就不走了,直接退出 for i in range(10): if i>5: break #不往下走了,直接跳出整个loop print("loop",i)