005.Python条件if语句


一  流程控制

流程控制的定义

  • 流程:代码执行的过程
  • 流程控制:对代码执行过程的管控

流程控制三大结构:

  • 顺序结构:从上到下,代码依次执行
  • 分支结构: 一共4个
  • 循环结构:while for

分支结构:

  1. 单项分支
  2. 双项分支
  3. 多项分支
  4. 巢状分支

二 if分支

2.1 单项分支

语法代码块

if 条件表达式:
    code1
    code2
    ...
    ...

如果条件表达式成立,则执行if代码块中的内容

2.2 双向分支

语法代码块

复制代码
if 条件表达式:
    code1
    code2
    ...
else:
    code1
    code2
    ...
复制代码

如果条件表达式成立 则执行if当中代码块的内容
如果条件表达式不成立 则执行else当中代码块的内容
if下面的代码块叫做 真区间
else 下面你的代码块叫做 假区间  

根据下面要求写一个python代码

提示用户输入用户名和密码,如果用户名是admin , 并且密码是123456 , 提示用户恭喜你,登陆成功,否则提示用户名或密码错误

复制代码
username = input("请输入您的用户名:")
password = input("请输入您的密码:")
if username == "admin" and password == "123456":
        print("恭喜你,登录成功")
else:
        print('抱歉,您的用户名或密码错误')
复制代码

正确执行

错误执行

input 等待用户输入内容   * input  接受到的所有数据都是字符串类型

2.3 多项分支 (多选一)

语法代码块

复制代码
if 条件表达式1:
    code1
    ...
elif 条件表达式2:
    code1
    ...
elif 条件表达式3:
    code1
    ...
else:
    code1
    ...
复制代码

elif 可以是1个,可以是多个,else 只能是1个,或者没有

执行过程

  1. 默认从上到下
  2. 如果条件表达式1成立则执行代码块,否则向下执行
  3. 判断elif中的表达式2是否成立,如果ok执行代码块,否则继续向下执行表达式3,
  4. 依次类推,如果没有一个条件表达式成立,
  5. 最后执行else区间里面的内容
  6. 如果有一个条件满足,就执行该区间的内容,剩下的所有条件都不执行了

写一个简单的判断成绩的代码

复制代码
score = input("请输入您的成绩:")
score = int(score)
if score < 0 or score > 100:
    print ("请您输入正确的分数1~100")
elif  60 <= score < 70:
    print('刚刚及格,需要下功夫')
elif 70 <= score < 80:
    print("成绩良好,加油")
elif 80 <= score < 90:
    print("很优秀,加油")
elif 90 <= score <= 100:
    print("非常棒,加油")
else:
    print("没有及格,叫家长")
复制代码

执行测试

复制代码
[root@node10 python]# python3 test.py
请输入您的成绩:35
没有及格,叫家长
[root@node10 python]# python3 test.py
请输入您的成绩:67
刚刚及格,需要下功夫
[root@node10 python]# python3 test.py
请输入您的成绩:76
成绩良好,加油
[root@node10 python]# python3 test.py
请输入您的成绩:87
很优秀,加油
[root@node10 python]# python3 test.py
请输入您的成绩:99
非常棒,加油
[root@node10 python]# python3 test.py
请输入您的成绩:999
请您输入正确的分数1~100
复制代码

2.4 巢状分支

单项分支,双项分支 多项分支的嵌套使用

修改上面的代码位巢状分枝

复制代码
score = input("请输入您的成绩:")
score = int(score)
if score < 0 or score > 100:
    print ("请您输入正确的分数1~100")
else:
    if score >= 60:
        if score >= 70:
            if score >= 80:
                if  score >= 90:
                    print("非常棒,加油")
                else:
                    print("很优秀,加油")
            else:
                print("成绩良好,加油")
        else:
            print("刚刚及格,需要下功夫")
    else:
        print("没有及格,叫家长")
复制代码

执行测试

复制代码
[root@node10 python]# python3 test.py
请输入您的成绩:34
没有及格,叫家长
[root@node10 python]# python3 test.py
请输入您的成绩:67
刚刚及格,需要下功夫
[root@node10 python]# python3 test.py
请输入您的成绩:78
成绩良好,加油
[root@node10 python]# python3 test.py
请输入您的成绩:89
很优秀,加油
[root@node10 python]# python3 test.py
请输入您的成绩:99
非常棒,加油
[root@node10 python]# python3 test.py
请输入您的成绩:121
请您输入正确的分数1~100
复制代码

通用写法

复制代码
score = input("请输入您的成绩:")
score = int(score)
if score < 0 or score > 100:
    print ("请您输入正确的分数1~100")
elif  60 <= score and score  < 70:
    print('刚刚及格,需要下功夫')
elif 70 <= score and score < 80:
    print("成绩良好,加油")
elif 80 <= score and score < 90:
    print("很优秀,加油")
elif 90 <= score and score <= 100:
    print("非常棒,加油")
else:
    print("没有及格,叫家长")
复制代码

执行测试

复制代码
请输入您的成绩:56
没有及格,叫家长
[root@node10 python]# python3 test.py
请输入您的成绩:67
刚刚及格,需要下功夫
[root@node10 python]# python3 test.py
请输入您的成绩:78
成绩良好,加油
[root@node10 python]# python3 test.py
请输入您的成绩:89
很优秀,加油
[root@node10 python]# python3 test.py
请输入您的成绩:9
没有及格,叫家长
[root@node10 python]# python3 test.py
请输入您的成绩:121
请您输入正确的分数1~100
复制代码
学习记录,小白一枚
原文地址:https://www.cnblogs.com/wangsirde0428/p/14322327.html