Python_learning_day2

Content

  • if-else语句(if语句的嵌套使用)
  • while循环
  • for循环
  • break、continue语句
  • 多条件与短路运算

流程:就是计算机执行代码的顺序

流程控制:对计算机代码执行的顺序进行有效a'a的管理,只有流程控制才能实现在开发当中的业务逻辑

流程控制的分类:

  1. 顺序流程:就是代码一种自上而下的执行结构,也是python默认的流程
  2. 选择流程/分支流程:根据在某一步的判断,有选择的去执行相应的逻辑的一种结构
  3. 循环流程:在一定的条件下,一直重复的去执行某段代码的逻辑【事情】

分支流程分为:

1. 单分支

if条件表达式:

一条条的python代码

一条条的python代码

一条条的python代码

……

2. 双分支

if条件表达式:

一条条的python代码

一条条的python代码

一条条的python代码

……

else

一条条的python代码

一条条的python代码

一条条的python代码

……

3. 多分支

if条件表达式:

一条条的python代码

一条条的python代码

一条条的python代码

……

elif条件表达式:

一条条的python代码

一条条的python代码

一条条的python代码

elif条件表达式:

一条条的python代码

一条条的python代码

一条条的python代码

……

else:

一条条的python代码

一条条的python代码

一条条的python代码

……

注意:条件表达式:比较运算符/逻辑运算符/复合的运算符

循环流程:

while条件表达式:

一条条的python代码

一条条的python代码

一条条的python代码

……

for...in 可迭代集合对象:

一条条的python代码

一条条的python代码

一条条的python代码

……

例:

score=60  #满足条件就会输出打印的提示

if score<=60:

       print(“成绩不是太理想,要继续加油哦”)

       pass  #表示空语句

print(“语句运行结束”)

例:

if score>60:

       print(“你的成绩及格了……”) 

       pass  

else

       print(“成绩不合格,请继续努力”)   

       pass  

多分支特征:

  1. 只要满足其中一个分支,就会退出本层if语句结构【必定会执行其中一个分支】
  2. 至少有2种情况可以选择
  3. elif后面必须写上条件和语句
  4. else是选配,根据实际的情况来写

例:

score=input(‘请输入你的成绩……’)

if score>95:

       print(“您的成绩是A等级”)

       pass

elif score>=80:

       print(“您的成绩是B等级”)

       pass

elif score>=70:

       print(“您的成绩是C等级”)

       pass

elif score>=60:

       print(“您的成绩是D等级”)

       pass

else:

       print(“可以回家修理地球了”)

print(“程序运行结束了……”)

多分支练习(猜拳小游戏):

#0: 石头  1:剪刀  2:布

import random

person=int(input('请出拳:【0:石头 1:剪刀 2:布'】))

computer=random.randint(0,2)

if person==0 and computer==1:   #多条件

      print("厉害了,你赢了")

elif person==1 and computer==2:

      print("厉害了,你赢了")

elif person==2 and computer==0:

      print("厉害了,你赢了")

elif person==computer:

      print("不错,居然平手")

else:

      print("哈哈,你输了")

if-else嵌套:

if条件1:

     if条件2:

          print('满足条件1',同时满足条件2)

     else:

          print('满足条件1',但是不满足条件2)

elif条件3:

      if条件4:

          print('满足条件3',同时满足条件2)

实例

xuefen=int(input(“请输入你的学分”))

if xuefen>10:

      grade=int(input(“请输入你的成绩”))

      if grade>=80:

            print('你可以升班了,恭喜您')

            pass

      else:

            print('很遗憾,您的成绩不达标')

            pass

else:

      print('您的表现也太差了吧')

while循环基本语法结构:

while条件表达式:

       代码指令

语法特点:

  1. 有初始值
  2. 条件表达式
  3. 变量【循环体内计数变量】的自增或者自减,否则会造成死循环

使用条件:循环的次数不确定,是依靠循环条件来结束

目的:为了将相似或者相同的代码操作变得更加简洁,使得代码可以重复利用

案例(输出1-100之间的数据

index=1  #定义一个变量

while index<=100:

       print(index)

       index+=1

       pass

#猜拳游戏循环 0: 石头  1:剪刀  2:布

import random

count=1

while count<=10:

     person=int(input('请出拳:[0:石头 1:剪刀 2:布]'))

     computer=random.randint(0,2)

     if person==0 and computer==1:   #多条件

          print("厉害了,你赢了")

     elif person==1 and computer==2:

          print("厉害了,你赢了")

     elif person==2 and computer==0:

          print("厉害了,你赢了")

    elif person==computer:

          print("不错,居然平手")

    else:

          print("哈哈,你输了")

    count+=1

#打印九九乘法表

row=9   #row行 #换成row=1 可以倒过来显示

while row<=9:  #换成row>=1 可以倒过来显示

        col=1   #col列

        while col<=row:

                print(“%d*%d=%d”%(row,col,row*col),end=“ “)

                col+=1

                pass

       print()    #起到换行作用

       row+=1   #换成row-=1 可以倒过来显示

       pass

#打印一个直角三角形

row=1  #换成row=7 可以倒过来显示

while row<=7:    #超过7行不打印了 #换成row>=1 可以倒过来显示

        j=1    #控制每一行的数量

        while j<=row:

                print(‘*’,end=‘ ’)

                j+=1

                pass

       print()    #起到换行作用

       row+=1   #换成row-=1 可以倒过来显示

       pass

#打印一个等腰三角形

row=1  

while row<=5:    #超过5行不打印了 

        j=1    #控制每一行的数量

        while j<=5-row:

                print(‘ ’,end=‘ ’)

                j+=1

                pass

        k=1

        while k<=2*row-1:    #控制打印*号

                print(‘*’,end=‘ ’)

                k+=1

                pass

       print()    #起到换行作用

       row+=1

       pass

for循环基本语法结构:

语法特点:遍历操作,依次的取集合容器中的每个值

for循环格式:

for 临时变量 in 字串符,列表等:

    执行代码

    执行代码

for循环示例:

a='python'

for i in a:

    print(i)

for循环遍历列表:

li=['a','b','c','d']

for i in li:

    print(i)

例:

tags='我是一个中国人'

for item in tags:

     print'item'

     pass

range(区域)函数:可以生成一个数据集合列表

#range(起始:结束:步长)  步长不能为0

#print(type(range(1,100)))

sum=0

for data in range (1,101):   #左边包含,右边不包含,要包含100就要往后一位到101

    sum+=data    #求累加和

    #print(data,end=' ')

    pass

#print("sum=%d"%sum)

print(‘------------------for的使用-------------------’)

for data in range(50,201):

      if data%2=0:   #把偶数拿出来

            print("%d是偶数"%data)

            pass

      else:

            print("%d是奇数"%data)

break、continue语句

break:退出循环(中断)  #只要满足条件,直接结束本层循环

continue:跳过本次循环(继续下一个循环) #当continue的条件满足的时候,本次循环剩下的语句将不再执行,后面的循环继续

#这两个关键字只能用在循环中

例:

sum=0

for item in range(1,51):

        if sum>100:     #累加和>100不再执行

              print('循环执行到%d就退出来了'%item)

              break    #退出循环

              pass

        sum+=item

        pass

例:

sum=0

for item in range(1,100):  #求出来奇数

        if item%2=0:

              continue

              print('在continue的后面会不会执行呢')

              pass

        print(item)

        pass

例:

for item in 'I love python':

        if item=='e':     #到e这个字母就中断循环

               break

        print(item)

例:

for item in 'I love python':

        if item=='o':     #跳过字母o继续循环

               continue

        print(item,end=' ')    #不换行

例:

index=1

while index<=100:

        if index>=20:

               break

               pass

        print(index) 

        index+=1

while使用:适用于对未知的循环次数,用于判断

for使用:适用于已知的循环次数【可迭代对象遍历】

#打印九九乘法表

for i in range(1,10):

        for j in range(1,i+1):

                print(“%d*%d=%d”%(i,j,i*j),end=“ “)

                pass

       print()    #起到换行作用

       pass

#for else的使用

#while else的使用

例:

for item in range(1,11):

         print(item,end=' ')

         if item >=5:

              break

         pass

else:

         print('就是上面循环当中 只要是出现了break 那么else的代码将不再执行')

例:

account='wyw'

pwd='123'

for i in range(3):

       zh=input('请输入帐号:')

       pd=input('请输入密码:')

       if account==zh and pwd==pd:

               print('登录成功。。。')

               break

               pass

       pass

else:

       print('您的帐号已经被系统锁定。。。')

例:

index=1

while index<=10:

       print(index)

       if index==6:

             break

       index+=1

       pass

else:

       print('else执行了么。。。')     #有了break就不会执行else代码

Daily Practice:

#猜年龄小游戏,3点需求:

1.允许用户最多尝试3次

2.每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y,就继续让其猜3次,以此往复,如果回答N或n,就退出程序

3.如果猜对了,就直接退出程序

#目的:演练while和if的使用,综合运用

times=0

count=3

while times<=3:

        age=int(input('请输入您要猜得年龄。。。'))

        if age==25:

                print('恭喜您,猜对了')

                break   #直接中断

                pass

        elif age>25:

                print('猜大了,请再试试')

                pass

        else:

                print('猜小了,请再试试')

                pass

        times+=1

        if times=3:

               choose=input('想不想继续猜呢  Y/N?')

               if choose=='Y' or choose=='y':

                        times=0   #次数重置为初始值

               if choose=='N' or choose=='n':

                         times=4

                         pass

               else:

                          print('请输入正确的标识')

#用if-elif判断并打印结果:

小王身高1.75,体重80.5kg,请根据BMI公式(体重除以身高的平方)帮小王计算他的BMI指数,并根据BMI指数:

低于18.5  过轻

18.5-25  正常

25-28  过重

28-32  肥胖

高于32  严重肥胖

hieght=1.75

weight=80.5

BMI=weight/(height**2)

print(“BMI的数据是%d”%BMI)

if BMI<18.5:

       print('过轻')

       pass

elif 18.5<=BMI<25:

      print('正常')

      pass

elif 25<=BMI<28:

      print('过重')

      pass

elif 28<=BMI<32:

      print('肥胖')

      pass

else:

      print('严重肥胖')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JZszd511112

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值