python条件结构_python的选择结构

python的逻辑运算符:and(逻辑与),or(逻辑或),not(逻辑非).

和其它语言与[&&],或[||],非[!]不一样,感觉有些怪。

>>> not 0

True

>>> not ''

True

>>> not ' '

False

>>> 1+True

2

判断闰年

(year%4==0 and year%100!=0) or year%400==0

判断字母

(ch>='a' and ch<='z') or ( ch>='a' and ch<='z')

逻辑运算具有短路的性质,可以进行一些操作,在shell命令中,或者替代一些if语句

>>> 2>3 and 8>6

False

>>> 22 or 1+1!=2

22

>>> 1+1!=2

False

>>> 22 and '333'

'333'

测试运算

in运算符用于在指定的序列中查找某一值,存在返回True,否则False.

>>> 6 in [1,2,6]

True

>>> a=(1,2,3)

>>> 1 in a

True

>>> 2 not in a

False

身份测试

身份测试用于测试二个变量是否指向同一个对象。

>>> a=68

>>> b=68

>>> c=66

>>> a is b

True

>>> a is not c

True

选择结构

单分直格式:

if 条件表达式:

语句块。

双分支结构

格式:

if 条件表达式:

语句块1

else:

语句块2

if (1+1==2):

print('yes')

yes

条件表达式后面的语句块必须向右缩进,默认4个空格,类似其它语言的 { },其它比如for语句,def等都需要缩进,注意一下就行了。

a,b=eval(input("put into a,b"))

if(a>b):

max=a

else:

max=b

print('max={0}'.format(max))

put into a,b6,8

max=8

多分支语句

if 条件表达式1:

语句块1

elif 条件表达式2:

语句块2

elif 条件表达式3:

语句块3

[else:

语句块n]

看一个相关的代码:

a,b,c=eval(input("input a,b,c:"))

if a>b:

max=a

if max

max=c

elif a

max=b

if max

max=c

print("max=",max)

input a,b,c:55,88,+55

max= 88

条件运算符

python的条件运算符相当于一个三元运算符,有3个分量。

形式: 表达式1 if 条件表达式 else 表达式2

规则,先求条件表达式的值,如果其值为true,则求表达式1,并以表达式1的值为结果,如果条件表达式的值为flase,则求表达式2,并以表达式2的值为条件运算符的结果。

x,y=eval(input("x,y:"))

max=x if x>y else y

print("max=",max)

x,y:66,88

max= 88

其它语言,比如c,是 max=a>b?a:b这样,相当于简写了if else,但是其可读性差,不好理解。

求3个数最大值

x,y,z=eval(input("x,y,z:"))

max1= x if x>y else y

max= max1 if max1>z else z

print("max=",max)

x,y,z:231,-88,999

max= 999

这样或许,读起来还行。

x,y,z=eval(input("x,y,z:"))

max= x if x>y else y if (x if x>y else y)>z else z

print("max=",max)

x,y,z:34,68,22

max= 68

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值