Python学习笔记(七)----程序的流程控制之if语句
目录
1.程序的描述方式
自然语言:使用人类语言,直接描述程序
流程图:用一系列的图形、流程线和文字说明描述程序的基本操作和控制流程,主要适用于较短的算法
伪代码:是介于自然语言和编程语言之间的一种算法描述语言,如果程序比较小,可以直接使用代码描述
2.程序的组织结构
顺序结构 | 选择/分支结构 | 循环结构 |
---|
2.1顺序结构:按照程序的自然顺序,从上到下,依次执行每条语句的程序
2.2选择结构:也称分支结构,是按照条件选择执行不同的代码段
2.2.1单分支结构 if
语法结构
if 表达式:
语句块
执行流程:如果表达式的值为True,就执行语句块;如果为False,就跳过语句块,继续执行后面的代码
代码示例:
number=eval(input('请输入您的六位中奖号码:'))
#使用if语句
if number == 987654:
print('恭喜中奖')
if number !=987654:
print('您未中奖')
n=98
if n%2: #98%2的值为0,其布尔值为False
print(n,'是奇数')
if not n%2:
print(n,'是偶数')
#判断一个字符串是否为空字符串
x=input('请输入一个字符串:')
if x: #在Python中一切皆对象,每个对象都有一个布尔值,非空字符串的布尔值为True,空字符串的布尔值为False
print('x是一个非空字符串')
运行结果:
请输入您的六位中奖号码:121313
您未中奖
98 是偶数
请输入一个字符串:1122
x是一个非空字符串
2.2.2双分支结构 if-else
语法结构
if 表达式:
语句1
else:
语句2
执行流程:如果表达式的值为True,就执行语句1;否则执行语句2
代码示例:
number=eval(input('请输入您的六位中奖号码:'))
#使用if-else语句
if number == 987654:
print('恭喜中奖')
else:
print('您未中奖')
#将上述代码用条件语句表达式进行简化
result='恭喜中奖'if number==987654 else '您未中奖'
print(result)
#也可以直接用输出进行简化
print('恭喜中奖'if number==987654 else '您未中奖')
运行结果:
请输入您的六位中奖号码:121313
您未中奖
您未中奖
您未中奖
2.2.3多分支结构 if-elif-else
语法结构
if 表达式1:
语句块1
elif 表达式2:
语句块2
elif 表达式n:
语句块n
else:
语句块n+1
代码示例:
GPA=eval(input('请输入您的期末综测GPA:'))
#多分支结构
if GPA<0 or GPA>5:
print('请输入正确的成绩!')
elif 0<= GPA<=3:
print('哥们还要努力啊')
elif 3<GPA<=3.5:
print('再努力一下可以冲击单项奖学金')
elif 3.5<GPA<=4:
print('可以尝试三等奖学金哦')
elif 4<GPA<=4.3:
print('可以申请二等奖学金了')
elif 4.3<GPA<=4.6:
print('保二争一呢铁铁')
else:
print('你学这么好你要保研啊')
运行结果:
请输入您的期末综测GPA:4.9
你学这么好你要保研啊
上述的三种结构可以嵌套使用
3.多个条件的连接
当出现多个条件时,使用and
或者or
进行连接
3.1使用and连接
在使用and
连接多个条件判断时,只有同时满足多个,才能执行if后面的语句块
代码示例:
lovename=input('请输入你喜欢的人的名字:')
student_number=eval(input('请输入她的学号:'))
if lovename=='yyy' and student_number==123456: #保证她的隐私就不用真的学号了哈
print('没错,她就是你喜欢的人!')
else:
print('连你喜欢的人都记不住?')
3.2使用or连接
在使用or
连接多个判断条件时,只要满足其中一个,就可以执行if后的语句块
代码示例:
lovename=input('请输入你喜欢的人的名字:')
student_number=eval(input('请输入她的学号:'))
if lovename=='yyy' or student_number==123456: #保证她的隐私就不用真的学号了哈
print('没错,她就是你喜欢的人!')
else:
print('连你喜欢的人都记不住?')