python基础 表达式与选择结构

来源:互联网 发布:金山毒霸软件恢复会员 编辑:程序博客网 时间:2024/06/03 22:40

1.选择结构程序的定义:根据条件表达式的值是True/非零还是False/零做出决策,控制代码块的执行。
一、表达式与表达式的值
典型的表达式一般由运算符和操作数/操作对象组成。
运算符:对操作数/操作对象进行运算处理的符号。
操作数/操作对象:运算符处理的数据。
在条件表达式中常用的运算符如下:
(1)算术运算符:+ - * / // % ** ~
(2)关系运算符:> < == != <> <= >=
(3)测试运算符:in,not in, is, not is
(4)逻辑运算符:and, or, not
1.算数表达式及值
算数表达式的运算结果为数值型,可将非零值看作True,零值看作False,即也可以看作布尔运算的结果。
2.关系表达式及值
(1)用两个等号比较两个操作数是否相等,结果将得出True或者是False

>>>3==3True>>>3==4False

(2)进行比较的两个对象可以是数值、字符串、列表、字典等。

>>>"abc"=="abc"True>>>a=[1,2,3]>>>b=[1,2,3]>>>a==bTrue

(3)用!=表示不等号

>>>3==3True>>>3!=3False>>>3!=4True

3.测试表达式
(1)成员测试
成员测试使用云字符in和not in,在表达式中返回逻辑值。

>>>a=[1,2,3]>>>1 in aTrue>>>5 in aFalse>>>5 not in aTrue>>>s="abcde">>>"a" in sTrue>>>"ab" in sTrue>>>"ac" in sFalse

(2)同一性测试
同一性测试使用运算符is和 not is,在表达式中返回逻辑值。

>>>a=[1,2,3]>>>b=a>>>a==bTrue                #a,b引用相同对象,所以相同。>>>b=[1,2,3]>>>a==bTrue>>>a is b             #a,b引用不同对象,虽然相等,但并不相同。False

4.逻辑表达式及值
(1)and(和)
表示and左侧的运算、值或者对象为true/非零值,接着对右侧表达式求值的到最后结果。如果左侧为false/零值,则最终结果为false,并停止对右侧表达式的运算。
(2)or(或)
表示对左侧表达式求值,如果结果为false/零值,继续对右侧表达式求值,得最后结果。如果左边表达式为true/非零值,则最终结果为true,并停止运算右侧表达式。
(3)not(非)
在需要对表达式求相反条件时,用not运算符,关系表达式的值为布尔型。

二、复合表达式
1.复合表达式
当做一个判断需考虑两个或两个以上的条件/因素时,此时需要对条件进行合理的逻辑组合运算。
2.复合表达式的混合运算
在进行混合运算时,需要按照运算符的优先级顺序进行运算。

这里写图片描述

三、选择结构
1.单分支语句
格式:
if 表达式:
语句块
这里写图片描述

例如:比较两个数大小,按从小到大的顺序输出

a=3b=5if a>b:    a,b=b,aprint ("从小到大输出:")print a,b

运行结果:
从小到大输出:3 5

PS: 1.分支结构中的表达式一般是逻辑表达式,也可以为任何合法的表达式。
2.分支结构中执行的语句可以是一条语句,也可以是多条语句组合而成的复合语句,或者称语句块。在python中用缩进结构来表示,具有相同的连续的缩进量的语句构成复合语句。

例 从键盘输入圆的半径,如果半径大于等于0,则计算圆面积。

import mathr=input("请输入圆的半径:")if r>=0:    s=r*r*math.pi    print "s=pi*r*r=",s                     

输出结果:
请输入圆的半径:4
s=pi*r*r=50.26548245743669
请输入圆的半径:-2

2.双分支语句
格式:
if 表达式:
语句块1
else :
语句块2

这里写图片描述

例:从键盘上输入一个整数,如果是偶数则输出”偶数“,如果是奇数则输出”奇 数“。

x=input('请输入一个整数:')if x%2==0:    print ('偶数');elseprint ('奇数')

运行结果:
请输入一个整数:2
偶数

3.多分支语句
格式:
if 表达式1:
语句1
elif 表达式2:
语句2
……
else :
语句n

例:由计算机对学生的成绩进行分级(补考,及格,中,良,优),其划分标准为:小于60分为补考;60~70分为及格;70~80分为良;80~90分为中;90~100分为优。最终输出等级信息。

score=input('请输入你的成绩:')if score<0 or score>100:    print 'error'elif score<60:    print '补考'elif score<70:    print '及格'elif score<80:    print '良'elif score<90:    print '中'else :    print '优'

运行结果:
请输入你的成绩:-1
error
请输入你的成绩:95

4.选择结构的嵌套
格式:
if 表达式1:
#语句块1
……
if 表达式11:
语句块11…
else :
语句块12…

else :
语句块2

例:购买地铁车票的规定如下:乘1~4站,3元/位;乘5~9站,4元/位;乘9站以上,5元/位。输入人数、站数,输出应付款。

m,n=input('请输入站数、人数:')if m<=4:    pay=3*nelae :    if m<=9:        pay=4*n    else :        pay=5*nprint '应付款:',pay

输出结果:
请输入站数、人数:5,3
应付款:20

原创粉丝点击