基础语法—流程控制

基础知识—流程控制

  1. if语句
  2. while循环
  3. for循环

一.if语句

'''
代码块:
    1、代码块指的是同一级别的代码,在python中用缩进相同的空格数(除了顶级代码块无任何缩进之外,其余代码块都是在原有的基础上缩进4个空格)来标识同一级的代码块
    2、同一级别的代码块会按照自上而下的顺序依次运行
'''

语法一

'''
if 条件:     # 条件成立的情况下会运行子代码块
    子代码1
    子代码2
    子代码3
    ...
'''
print('sdsd')
x=1123
y=456
l=[1,2,3,]
print(x,y,l)
if 10 > 3:
    print(1)
    print('结束啦')


示范一:
age = 73
age = 18
sex='female'
is_beautiful=True

if age > 16 and age < 20 and sex=='female' and is_beautiful:
     print('开始表白。。。')

print('我是if之后的代码,是顶级代码')

语法二:

'''
if 条件: # 条件成立的情况下会运行子代码块
    子代码1
    子代码2
    子代码3
    ...
else:  # 条件不成立的情况下会运行else包含的子代码块
    子代码1
    子代码2
    子代码3
    ...
'''
示范一:
age = 73
age = 18
sex='female'
is_beautiful=True

if age > 16 and age < 20 and sex=='female' and is_beautiful:
     print('开始表白。。。')
else:
     print('阿姨好,我们不太合适,还是做朋友吧。。。')

print('我是if之后的代码,是顶级代码')

语法三:

'''
if 条件1: # 条件1成立的情况下会运行子代码块
    子代码1
    子代码2
    子代码3
    ...
elif 条件2: # 条件2成立的情况下会运行子代码块
    子代码1
    子代码2
    子代码3
    ...
elif 条件3: # 条件3成立的情况下会运行子代码块
    子代码1
    子代码2
    子代码3
    ...
......
else:      # 上述条件都不成立的情况下会运行else包含的子代码块
    子代码1
    子代码2
    子代码3
    ...
'''

示范:   如果:成绩>=90,那么:优秀
             如果成绩>=80且<90,那么:良好
             如果成绩>=70且<80,那么:普通
             其他情况:很差
score=input('请输入您的分数进行查询:') # score="abc"
if score.isdigit():     # "99".isdigit()
    score=int(score) # 把纯数字的字符串转换成整型,score=int("99")

    if score >= 90:
        print('成绩的级别为:优秀')
    elif score >= 80:
        print('成绩的级别为:良好')
    elif score >= 70:
        print('成绩的级别为:普通')
    else:
        print('成绩的级别为:很差')
else:
    print('必须输入纯数字')

一、什么是循环?
循环就是重复做一件事

二、为何要用循环?
为了让计算机能够像人一样去重复做事情

二.while循环

 1. 基本语法
    while 条件:
        子代码1
        子代码2
        子代码3

2. 死循环:循环永远不终止,称之为死循环
    count=0
    while count < 5:
         print(count)

     while True:
         print('ok')

 3. 如何终止循环
     方式一:把条件改成假,必须等到下一次循环判断条件时循环才会结束
     tag=True
     while tag: # tag=False
         print('ok')
         tag=False
         print('hahahahhahahahahahaha')


     方式二:break,放到当前循环的循环体中,一旦运行到break则立刻终止本层循环,不会进行下一次循环的判断
     while True:
         print('ok')
         break
         print('hahahahhahahahahahaha')


 4. 嵌套多层循环,需求是想一次性终止所有层的循环,推荐使用方式二
     方式一:
     while 条件1:
         while 条件2:
             while 条件3:
                 break
             break
         break

     方式二:
     tag=True
     while tag:
         while tag:
             while tag:
                 tag=False


 5. while+continue:    continue会结束本次循环,直接进入下一次循环
     count = 1
     while count < 6:      # 5 < 6
         if count == 4:      # 4==4
             count += 1      # count=5
             continue          # 强调:在continue之后不应该写与其同级的代码,因为为将无法运行
         print(count)  
         count += 1  # 6


6. while+else
     count=1
     while count < 6:
         # if count == 3:break
         if count == 4:
             count+=1
             continue
         print(count)
         count+=1
     else:
         #else对应的子代码块会在while循环结束后,并且不是被break强行结束的情况下执行
         print('====end====')

三.for循环

针对循环取值操作,while循环并不擅长,于是python提供一个专门循环取值操作:for循环
#for循环基本语法
for 变量名 in 可迭代对象: # 此时只需知道可迭代对象可以是字符串\列表\字典,我们之后会专门讲解可迭代对象
    代码一
    代码二
    ...
    
#例1
for item in ['a','b','c']:
    print(item)
# 运行结果
a
b
c

# 参照例1来介绍for循环的运行步骤
# 步骤1:从列表['a','b','c']中读出第一个值赋值给item(item=‘a’),然后执行循环体代码
# 步骤2:从列表['a','b','c']中读出第二个值赋值给item(item=‘b’),然后执行循环体代码
# 步骤3: 重复以上过程直到列表中的值读尽


# 列2
for k in {'name':'jason','age':18,'gender':'male'}:  # for 循环默认取的是字典的key赋值给变量名k
    print(k)
    
#for+range():range用来产生一个数字序列
# 用途1:用来重新n次某段代码
# 用途2:range可以用来产生数字序列,数字对应的是列表的索引
#       所以说,for+range()是可以按照索引编列列表
# range(1,3) # 从1开始,顾头不顾尾 # range(1,6,2) # 可以指定步长,1 3 5
# for x in range(1,3): # [1,2]
#     print(x)

# for+break
# for i in range(3): #
#     username=input('username>>: ')
#     password=input('password>>: ')
#     if username == 'egon' and password == '123':
#         break
#     else:
#         print('用户名或密码错误')


# for+continue
for i in range(5): # [0,1,2,3,4]
    if i == 2 or i == 3:continue
    print(i)


# for+else
# for i in range(3): #
#     username=input('username>>: ')
#     password=input('password>>: ')
#     if username == 'egon' and password == '123':
#         break
#     else:
#         print('用户名或密码错误')
# else:
#     print('账号密码输错次数达到最大限制,退出程序')

总结for循环与while循环的异同
1、相同之处:都是循环,for循环可以干的事,while循环也可以干
2、不同之处:
while循环称之为条件循环,循环次数取决于条件何时变为假
for循环称之为"取值循环",循环次数取决in后包含的值的个数

posted @ 2020-02-20 16:12  风亦缘^_^  阅读(136)  评论(0编辑  收藏  举报