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)

 

posted @ 2020-02-10 17:18  bean_my  阅读(149)  评论(0编辑  收藏  举报