返回顶部

2 python基础之判断语句和循环语句

if-else

想一想:在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢?

答:else

 

<1>if-else的使用格式

复制代码
    if 条件:
        满足条件时要做的事情1
        满足条件时要做的事情2
        满足条件时要做的事情3
        ...(省略)...
    else:
        不满足条件时要做的事情1
        不满足条件时要做的事情2
        不满足条件时要做的事情3
        ...(省略)...
复制代码

demo1

    chePiao = 1 # 用1代表有车票,0代表没有车票
    if chePiao == 1:
        print("有车票,可以上火车")
        print("终于可以见到Ta了,美滋滋~~~")
    else:
        print("没有车票,不能上车")
        print("亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~")

结果1:有车票的情况

1
2
有车票,可以上火车
终于可以见到Ta了,美滋滋~~~

结果2:没有车票的情况

    没有车票,不能上课
    亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~

<2>练一练

要求:从键盘输入刀子的长度,如果刀子长度没有超过10cm,则允许上火车,否则不允许上火车

elif

  • 想一想:

    if能完成当xxx时做事情

    if-else能完成当xxx时做事情1,否则做事情2

    如果有这样一种情况:当xxx1时做事情1,当xxx2时做事情2,当xxx3时做事情3,那该怎么实现呢?

  • 答:

    elif

 

<1> elif的功能

elif的使用格式如下:

    if xxx1:
        事情1
    elif xxx2:
        事情2
    elif xxx3:
        事情3

说明:

  • 当xxx1满足时,执行事情1,然后整个if结束
  • 当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
  • 当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束

demo:

复制代码
    score = 77

    if score>=90 and score<=100:
        print('本次考试,等级为A')
    elif score>=80 and score<90:
        print('本次考试,等级为B')
    elif score>=70 and score<80:
        print('本次考试,等级为C')
    elif score>=60 and score<70:
        print('本次考试,等级为D')
    elif score>=0 and score<60:
        print('本次考试,等级为E')
复制代码

<2> 注意点

  • 可以和else一起使用

复制代码
   if 性别为男性:
       输出男性的特征
       ...
   elif 性别为女性:
       输出女性的特征
       ...
   else:
       第三种性别的特征
       ...
复制代码
  • 说明:

    • 当 “性别为男性” 满足时,执行 “输出男性的特征”的相关代码
    • 当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的特征”的相关代码
    • 当 “性别为男性” 不满足,“性别为女性”也不满足,那么久默认执行else后面的代码,即 “第三种性别的特征”相关代码
  • elif必须和if一起使用,否则出错

if嵌套

通过学习if的基本用法,已经知道了

  • 当需要满足条件去做事情的这种情况需要使用if
  • 当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else

想一想:

坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?

答:

if嵌套

<1>if嵌套的格式

复制代码
    if 条件1:

        满足条件1 做的事情1
        满足条件1 做的事情2
        ...(省略)...

        if 条件2:
            满足条件2 做的事情1
            满足条件2 做的事情2
            ...(省略)...
复制代码
  • 说明
    • 外层的if判断,也可以是if-else
    • 内层的if判断,也可以是if-else
    • 根据实际开发的情况,进行选择

<2>if嵌套的应用

demo:

复制代码
    chePiao = 1     # 用1代表有车票,0代表没有车票
    daoLenght = 9     # 刀子的长度,单位为cm

    if chePiao == 1:
        print("有车票,可以进站")
        if daoLenght < 10:
            print("通过安检")
            print("终于可以见到Ta了,美滋滋~~~")
        else:
            print("没有通过安检")
            print("刀子的长度超过规定,等待警察处理...")
    else:
        print("没有车票,不能进站")
        print("亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~")
复制代码

结果1:chePiao = 1;daoLenght = 9

1
2
3
有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~

结果2:chePiao = 1;daoLenght = 20

 

1
2
3
有车票,可以进站
没有通过安检
刀子的长度超过规定,等待警察处理...

结果3:chePiao = 0;daoLenght = 9

1
2
没有车票,不能进站
亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~

结果4:chePiao = 0;daoLenght = 20

1
2
没有车票,不能进站
亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~

想一想:为什么结果3和结果4相同???

<3>练一练

情节描述:上公交车,并且可以有座位坐下

要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果空座位的数量大于0,就可以坐下

应用:猜拳游戏

参考代码:

复制代码
    import random

    player = input('请输入:剪刀(0)  石头(1)  布(2):')

    player = int(player)

    computer = random.randint(0,2)

    # 用来进行测试
    #print('player=%d,computer=%d',(player,computer))

    if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
        print('获胜,哈哈,你太厉害了')
    elif player == computer:
        print('平局,要不再来一局')
    else:
        print('输了,不要走,洗洗手接着来,决战到天亮')
View Code
复制代码

循环介绍

<1>生活中的循环场景

跑道

<2>软件开发中循环的使用场景

跟媳妇承认错误,说一万遍"媳妇儿,我错了"

1
2
3
4
print("媳妇儿,我错了")
print("媳妇儿,我错了")
print("媳妇儿,我错了")
...(还有99997遍)...

使用循环语句一句话搞定

1
2
3
4
i = 0
while i<10000:
    print("媳妇儿,我错了")
    i+=1

<3>小总结

  • 一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
  • 循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环

while循环

<1>while循环的格式

1
2
3
4
5
while 条件:
    条件满足时,做的事情1
    条件满足时,做的事情2
    条件满足时,做的事情3
    ...(省略)...

  

demo

    i = 0
    while i<5:
        print("当前是第%d次执行循环"%(i+1))
        print("i=%d"%i)
        i+=1

while循环应用

1. 计算1~100的累积和(包含1和100)

参考代码如下:

1
2
3
4
5
6
7
8
9
#encoding=utf-8
 
i = 1
sum = 0
while i<=100:
    sum = sum + i
    i += 1
 
print("1~100的累积和为:%d"%sum)

2. 计算1~100之间偶数的累积和(包含1和100)

参考代码如下:

1
2
3
4
5
6
7
8
9
10
#encoding=utf-8
 
i = 1
sum = 0
while i<=100:
    if i%2 == 0:
        sum = sum + i
    i+=1
 
print("1~100的累积和为:%d"%sum)

  

while循环嵌套

  • 前面学习过if的嵌套了,想一想if嵌套是什么样子的?

  • 类似if的嵌套,while嵌套就是:while里面还有while

<1>while嵌套的格式

复制代码
    while 条件1:

        条件1满足时,做的事情1
        条件1满足时,做的事情2
        条件1满足时,做的事情3
        ...(省略)...

        while 条件2:
            条件2满足时,做的事情1
            条件2满足时,做的事情2
            条件2满足时,做的事情3
            ...(省略)...
复制代码

<2>while嵌套应用一

要求:打印如下图形:

    *
    * *
    * * *
    * * * *
    * * * * *

参考代码:

1
2
3
4
5
6
7
8
9
10
i = 1
while i<=5:
 
    j = 1
    while j<=i:
        print("* ",end='')
        j+=1
 
    print("\n")
    i+=1

  

<3>while嵌套应用二:九九乘法表

参考代码:

1
2
3
4
5
6
7
8
i = 1
while i<=9:
    j=1
    while j<=i:
        print("%d*%d=%-2d "%(j,i,i*j),end='')
        j+=1
    print('\n')
    i+=1

  

for循环

像while循环一样,for可以完成循环的功能。

在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。

for循环的格式

1
2
3
4
for 临时变量 in 列表或者字符串等:
    循环满足条件时执行的代码
else:
    循环不满足条件时执行的代码

  

demo1

1
2
3
4
name = 'dongGe'
 
for x in name:
    print(x)

  

break和continue

1. break

<1> for循环

  • 普通的循环示例如下:

  

1
2
3
4
5
name = 'dongGe'
 
for x in name:
    print('----')
    print(x)

运行结果:  

带有break的循环示例如下:

  name = 'dongGe'

  for x in name:
      print('----')
      if x == 'g': 
          break
      print(x)

运行结果:

<2> while循环

  • 普通的循环示例如下:

 

1
2
3
4
5
6
i = 0
 
while i<10:
    i = i+1
    print('----')
    print(i)

  运行结果:

带有break的循环示例如下:

  i = 0

  while i<10:
      i = i+1
      print('----')
      if i==5:
          break
      print(i)

运行结果:

 

小总结:

  • break的作用:用来结束整个循环

2. continue

<1> for循环

  • 带有continue的循环示例如下:

1
2
3
4
5
6
7
name = 'dongGe'
 
for x in name:
    print('----')
    if x == 'g':
        continue
    print(x)

  运行结果:

 

  • 小总结:
    • continue的作用:用来结束本次循环,紧接着执行下一次的循环

3. 注意点

  • break/continue只能用在循环中,除此以外不能单独使用

  • break/continue在嵌套循环中,只对最近的一层循环起作用

 

总结

  • if往往用来对条件是否满足进行判断
  • if有4中基本的使用方法:

    1. 基本方法
      1
      2
      if 条件:
          满足时做的事情

        

    2. 满足与否执行不同的事情
      1
      2
      3
      4
      if 条件:
          满足时做的事情
      else:
          不满足时做的事情

        

    3. 多个条件的判断

      1
      2
      3
      4
      5
      6
      7
      8
      if 条件:
          满足时做的事情
      elif 条件2:
          满足条件2时做的事情
      elif 条件3:
          满足条件3时做的事情
      else:
          条件都不满足时做的事情

        

    4. 嵌套

      1
      2
      3
      4
      if 条件:
          满足时做的事情
       
          这里还可以放入其他任何形式的if判断语句

        

  • while循环一般通过数值是否满足来确定循环的条件

    1
    2
    3
    4
    i = 0
    while i<10:
        print("hello")
        i+=1

      

  • for循环一般是对能保存多个数据的变量,进行便利

    1
    2
    3
    4
    name = 'dongGe'
     
    for x in name:
        print(x)

      

  • if、while、for等其他语句可以随意组合,这样往往就完成了复杂的功能

  

 

  

  

 

posted @   Crazymagic  阅读(967)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示

目录导航