[Python3] 018 if:我终于从分支中走出来了

目录


0. 谁是主角

  • 分支是主角
  • 我前面几篇随笔提到 if 不下2次,是时候说一说 if 了

1. 从三大结构说起

(1) 顺序

  • 顾名思义,就是自上而下,顺序执行

(2) 分支

1) 分支的基本语法

if 条件表达式:
    语句1
    语句2
    语句3
    ...
  1. 条件表达式就是计算结果(或本身)必须为布尔值的表达式;布尔值:非真即假
  2. 表达式后面的冒号不能少
  3. if 下面的语句,如果属于 if 语句块,则必须使用同一缩进;当然语句中也可以有自己的缩进层级
  4. 条件表达式结果为 True 执行 if 下面属于 if 缩进的语句块

少废话,上例子

# 例1

age = 17
if  age < 18:
    print("孩子,来这里的都是成年人!")
    print("等你成年了再来!")
    print("再等一年吧!")
  • 运行结果

孩子,来这里的都是成年人!
等你成年了再来!
再等一年吧!


# 例2

age = 19
if  age < 18:
    print("孩子,来这里的都是成年人!")
    print("等你成年了再来!")
    print("再等一年吧!")
print("孩子,两年了,又见面了。等什么呢?赶紧上车吧!")
  • 运行结果

孩子,两年了,又见面了。等什么呢?赶紧上车吧!


# 例3

age = 19
if  age < 18:
    print("孩子,来这里的都是成年人!")
    print("等你成年了再来!")
print("再等一年吧!")     # 缩进很重要
print("孩子,两年了,又见面了。等什么呢?赶紧上车吧!")
  • 运行结果

再等一年吧!
孩子,两年了,又见面了。等什么呢?赶紧上车吧!


2) 双向分支

  • if - else 语句

    if 条件表达式:
        语句1
        语句2
        ...
    else:
        语句1'
        语句2'
        ...
  • 双向分支有两个分支,当程序执行到 if - else 语句的时候,一定会执行 if 或 else 中的一个

  • if 和 else 在缩进上是一个层级


补充:input()

  1. 括号中可以写入字符串,运行时执行到这一句,会在屏幕上显示该字符串
  2. 括号内的字符串常用于“友情提醒”
  3. input() 能接受用户输入的内容并返回到程序
  4. input() 返回的内容一定是字符串类型
# 例4

name = input("What's your name?")
print("Welcome," + name + "!")
  • 运行时的截图:

按快捷键运行后出现下图

输入回答后显示为下图

  • 运行结果

What's your name?YorkFish
Welcome,YorkFish!


补充完毕,上例子

# 例5

gender = input('Please enter your gender.(just enter "male" or "female")')
print("Your gender is: {0}".format(gender))

if gender == "male":        # == 表示判断是否相等,相等为真,否则为假
    print("OK, next.")
else:
    print("Welcome!")
  • 运行时的截图:

按快捷键运行后出现下图

输入回答后显示为下图

  • 运行结果

Please enter your gender.(just enter "male" or "female")male
Your gender is: male
OK, next.


# 例6

score = input("Please enter your score: ")
score = int(score)      # 需要把 input() 返回的 str 强制转换成 int

if score>=90:
    print("A")
if score>= 80  and score<90:
    print("B")
if score >= 70 and score<80:
    print("C")
if score >=60 and score<70:
    print("D")
if score < 60:
    print("I’m sorry!")
  • 运行时的截图:

按快捷键运行后出现下图

输入回答后显示为下图

  • 运行结果

Please enter your score: 90
A


3) 多路分支

  • 超过两路分支的情况,简称多路分支

    if 条件表达式1:
        语句1
        ...
    elif 条件表达式2:
        语句1'
        ...
    elif 条件表达式3:
        语句1''
        ...
    ...
    else:
        语句1'''
        ...
  • elif 可以有多个

  • else 可选

  • 与双向分支一样,多路分支只会选一个分支执行

  • 注意缩进层级


少废话,上例子

# 例7

#score = input("Please enter your score: ")
#score = int(score)
score = 90      # 方便起见,直接赋个值

if score>=90:
    print("A")
elif score>= 80:
    print("B")
elif score >= 70:
    print("C")
elif score >=60 :
    print("D")
else:
    print("I'm sorry!")
  • 运行结果

A


注意

  • if 可以嵌套使用,但不推荐
  • python 没有 switch-case 语句(我知识有限,只知道 C/C++、C#、Java 这些 C-Like 阵营的语言都有 switch-case)

(3) 循环

猜你喜欢

转载自www.cnblogs.com/yorkyu/p/10297612.html