我的Python成长之路---Day4.流程控制

版权声明:此博客实属作者原创,转载请注明出处! https://blog.csdn.net/Onion_cy/article/details/82702769

一、if判断语句

1,什么是if判断

判断一个条件成立则做...不成立则做...

2.为什么要有if判断

让计算机能够像人一样具有判断能力

3.如何使用if判断

if判断语法1

if 条件1:
    code1      
    code2
    code3

在这里code1、code2、code3成为子代码,合在一起成为子代码块,用同一缩进表示同一个代码块,同时同一缩进也表示同一等级

同一个代码块按照从上到下的顺序依次执行,在python中使用4个空格表示缩进子代码

例如:

if判断语法2:

if和else的连用

if 条件:
    code1
    code2
    code3
else:
    code1
    code2
    code3

运行逻辑:首先对if后边的条件进行判断,如果满足条件则运行if下边的子代码块,如果条件不满足,运行else下边的子代码块

例如:

if判断语法3 :if判断语句的嵌套

if 条件1:
    if 条件2:
        code1
        code2
        code3
    code4
    code5

运行逻辑:首先对顶级代码的if判断语句后边的条件1进行判断,如果成立,则对嵌套的if判断条件2进行判断,如果条件2成立,则运行code1/2/3,在运行code4/5

例如:

二、循环语句:

1.什么是循环

循环指的是重复做某件事的过程

2,为什么要有循环

让计算机能够像人一样重复的去做某件事

3,如何用循环

1).While循环

While循环的语法:while循环又称为条件循环,循环的次数取决于条件

while 条件
    子代码1
    子代码2
    子代码3

运行逻辑:只要条件满足,子代码会从上到下一直循环执行

例如:

在这个程序中可以一直输入名字个密码直到输入正确,输入正确之后还会显示让继续输入,也就是说这是一个可以一直运行下去的while循环

如何结束while循环

方式一:操作while循环的条件让其结

以上述程序为基础,如果想要结束while循环,使用改变while的循环条件来实现,即在输入正确的用户名和密码之后将True改为False即可实现结束while循环

例如:

方式二:使用break强行终止本次循环

要注意break在这里终止的本次循环指的是while循环

以上边程序为例,使用break来实现终止while循环

对上边的程序加入功能:输入三次都不正确时退出程序

方法一:

这里可以引入一个变量,让这个变量作为while的条件,对这个变量做相应的限制来实现要求的功能:

例如;

方法二:

不改变while后的条件,在while的循环开始时对变量n进行判断,来实现要求的功能:

结束while循环的第三个方式:

while+continue:continue代表结束本层循环,直接进入下一层循环

在这里要注意的是,continue和break的不同:

  相同点 不同点
break 可以结束循环 break结束的是本次循环,结束本次循环,不会执行break下边的代码,可以执行和本次循环同一级别的代码
continue 可以结束循环 continue结束的本层循环,结束本层循环还可以继续执行下一层循环下边的高一级别的代码

例如:要求打印出1235

在这个例子中可以明显看出来,continue结束的只是本层循环,所以可以打印出1235 (当count=4的时候被continue打断了,但是还可以进入count=5的循环并正常打印)而break结束的是本次循环,即当循环遇到break时,本次循环立即停止,进入不了下一层的循环,只能打印出来123

continue的其他应用:

不应该将continue作为循环体最后一步执行的代码

只能在continue同一级别(同一级别指相同缩进的代码)之前加代码,因为到continue这一行时本层循环结束,进入下一层循环,后边代码不在执行,在continue同级别之前加代码就没有任何意义

例如:

 count=1
 while count < 6:
     if count ==  4:
         count+=1
         continue      只能在cotinue同一级别之前加代码
         count+=1000   在continue同一级别后边在写任何代码都没有意义
     print(count)
     count+=1
 while True:
     print('11111')
     print('22222')
     print('333')
     continue     不应该将continue作为循环体最后一步执行的代码,因为程序执行到上一步就结束了在这 
                  里加continue没有意义

while+else的使用

当while和else连着使用时,else下边的子代码会在while循环没有被break终止的情况下执行,即while循环可以完整运行的时候(即使中间被continue终止了一层循环也算完整运行,一直运行到while条件不满足的时候)else下边的子代码才可以运行。

例如:输错三次用户名和密码就退出之while+else的运用

while循环的嵌套

以上面的输入用户名为基础,使用while循环的嵌套加入当输入正确的用户名和密码之后可以接着进行从浏览商品到退出的过程的选择这个功能

print('start....')
print('请输入您的用户名和密码')
n=0
while n<3:
    username =input('please your name>>: ')
    pwd =input('please your password>>: ')
    if username == 'allen' and pwd == '123':
        print('login successful')
        while 'login successful':
            print('请输入相应编号进行操作')
            print(
             '''
            1:浏览商品 
            2:购买商品
            3:进行支付
            4:购买成功
            5:退出
            ''')
            user=input('请输入你想要进行操作>>:')
            user=int(user)
            if user==1:
                print('正在浏览商品...')
            elif user==2:
                print('正在购买商品...')
            elif user==3:
                print('正在进行支付,请稍后...')
            elif user==4:
                print('恭喜你,已成功购买喜欢的商品')
            elif user==5:
                print('正在退出...欢迎下次光临~')
                break
        break
    else:
        print('user or password err')
        n+=1

else:
    print('对不起,您输错次数已经达到限制')
print('end...')

上面的代码虽然可以实现要求的功能,但是不足的是使用了多个break来终止循环操作,层数较多的话容易出现混淆。

这时可以使用tag(定义一个变量)控制所有while循环的方式来避免出现混淆的情况:

例如:

print('start....')
print('请输入您的用户名和密码')
n=0
tag=True           在这里定义好使用的变量,便于后边对while循环进行控制
while tag:
    if n==3:
        print("对不起.你输入的次数已经达到限制")
        break
    username =input('please your name>>: ')
    pwd =input('please your password>>: ')
    if username == 'allen' and pwd == '123':
        print('login successful')
        while tag:
            print('请输入相应编号进行操作')
            print(
             '''
            1:浏览商品 
            2:购买商品
            3:进行支付
            4:购买成功
            5:退出
            ''')
            user=input('请输入你想要进行操作>>:')
            user=int(user)
            if user==1:
                print('正在浏览商品...')
            elif user==2:
                print('正在购买商品...')
            elif user==3:
                print('正在进行支付,请稍后...')
            elif user==4:
                print('恭喜你,已成功购买喜欢的商品')
            elif user==5:
                print('正在退出...欢迎下次光临~')
                tag=False                    完成所有操作,将变量值修改为False从而达到对 
                                             while循环的控制
    else:
        print('user or password err')
        n+=1
        print('你已经输入错误的次数:',n,'输入次数达到3次你的账户将会被锁定')

print('end...')

程序运行结果如图:输错的情况下:

超出登录限定次数时:                                                                            进行一系列操作后;

For循环:

主要用于循环取值(多个值)。使用for循环取值时,非常简单常见的使用方式为:

现有一个列表,要求去除列表中的值赋给变量item

A=['Kangkang','Michale','Maria','Jane','Mr.Li']

一般取值方法:(至少需要四行代码才能实现)

i=0
while i<len(A):    #i<=4
    print([item])
    i+=1


使用for循环进行取值:

1.  for item(定义一个变量) in +列表/字典/字符串等可分解的数据类型

例如:

1.从列表中取值

for item in A:
    print(item)

2.从字典中取值

A={'x':111,'y':222,'z':333}
for item in A
    print(item,A[item])

3.取字符串

B='hello'
for A in B:
    print(A)

2.  for item (定义一个变量)   in range(a,b,步长)

其中range(1,10)表示从1开始取,取到9           (顾头不顾尾)

在python2中

在python3中

例如:一个取值需求:从1取到10

for A in range(1,10):
    print(A)

在加入步长之后,步长是在使用range时间隔取值的方法,比如range(1,10,3)它最终取到的值为:1,4,7

验证:

猜你喜欢

转载自blog.csdn.net/Onion_cy/article/details/82702769