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()

 

 

 

 

    

posted @ 2019-07-02 15:16  tulintao  阅读(380)  评论(0编辑  收藏  举报