首页 技术 正文
技术 2022年11月20日
0 收藏 494 点赞 3,917 浏览 2613 个字

一、赋值运算

简单的赋值运算符号:=

c = a + b   #将a+b的元算结果赋值给c

加法赋值运算符:+=

c += a   #等效于 c = c + a

减法赋值运算符:-=

c -= a    #等效于 c = c - a

乘法赋值运算符:*=

c *= a    #等效于 c = c * a

除法赋值运算符:/=

c /= a    #等效于 c = c / a

取模赋值运算符:%=

c %= a    #等效于 c =c % a

幂赋值运算符:**=

c **= a    #等效于 c = c ** a

取整除赋值运算符://=

c //= a    #等效于 c = c // a

二、算术运算

加—两对象相加:+

a + b

减—两对象相减:-

a - b

乘—两对象相乘,或是返回一个被重复若干次的字符串:*

a * b

除—a除以b:/    #计算机表示小数的时候会有误差

a / b

取模—返回除法的余数:%

a % b

幂—返回a的b次幂:**

a ** b

取整除—返回商的整数部分://

a // b

三、比较运算,返回值为布尔值

等于:=

a == b    #返回值为 True 或 False

不等于:!=或<>

a != b    #返回值为 True 或 Falsea <>b    #返回值为 True 或 False ,在python3.6中不支持,用 != 替代

大于:>

a > b    #返回值为 True 或 False

小于:<

a < b    #返回值为 True 或 False

大于等于:>=

a >= b    #返回值为 True 或 False

小于等于:<=

a <= b    #返回值为 True 或 False

四、逻辑运算

1.  and:布尔”与”     x and y

如果x为False,x and y 返回 False,否则它返回 y 的计算值

and是并且的意思,左右两端的值必须都是真,运算结果才是真,出现False即停止运算

print(True and True and False and False and True and False)
#返回值为False,只运算到第一个False就停止运算了 

2.  or:布尔”或”    x or y

如果 x 为 True,它返回 True ,否则返回y的计算值

or是或者的意思,左右两端有一个是真的,结果就是真,只有全部都是假,结果才能是假

a or b    #返回值为 True(a或b有一个为True) 或 False(a或b都为False)print( True or False)  #返回值为True 

3.  not:布尔”非”     not x

如果x为True,返回False;如果x为False,则返回True

not是非的意思,原来是假,现在是真;非真即假,非假即真

not(Ture and True)    #返回值为Falseprint(not True)    #返回值为Falseprint(not not not not not not False)    #返回值为False,因为每两个not相互抵消了 

“””

针对逻辑运算有进一步的研究:

1. 在没有 () 的情况下,not 优先级高于 and ,and 优先级高于 or ,同一优先级,从左往右计算

即优先级关系为 () > not > and > or

例题:判断下列逻辑语句的结果是True还是False

3>4 or 4<3 and 1 == 1

1<2 and 3<4 or 4>5 and 2<1

1>2 and 3<4 or 4>5 and 2>1 or 9<8

1>1 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6

not 2>1 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6

解法:

第一题:

a.先把每个比较算式运算出来,如第一个将变为:False or False and True

b.再按照 () > not > and > or 的优先级进行运算:此时第一题将先计算 False and True,结果为False

c.继续按照优先级进行计算:此时需要计算的算式变为了 False or False

故第一题的结果为False

第二题

a.先把每一个比较运算式计算出来:True and True or False and False

b.第一个 and 的算式为 True and True,计算结果为True

c.第一个 and 相连的运算符为 or,而 o r的两边只要出现 True,or 算式的结果即为 True

故第二题的答案为True

第三题

a.先把每一个比较运算式计算出来:False and True or False and True or False

b.第一个and的算式为False and True,结果为False:第二个 and 的算式为 False and True,结果为False

c.此时算式变为False or False or False

故第三题的答案为False

第四题

方法同上,注意True的断电机制

第五题

a.先把每一个计较算式运算出来:not True and True or False and True and True or False

b.存在not,先计算not,not True结果为False:False and True o rFalse and True and True or False

c.依此计算and:False or False or False

d.计算or

故第五题的结果为False

2.x or y,x为真,值就是x;x为假,值就是y

  如果 x != 0,那么就是x;如果 x == 0,那么就是y;如果第一个数是0,则选择第二个数,如果第一个数不是0,则选择第一个数

x and y , x为真,值是y ;x为假,值是x

如果 x!=0 ,那么值就是y,如果 x == 0,那么就是x;即如果第一个数是零,则选择第一个数(选择0),如果第一个数不是零,则选择第二个数

 or和and是相反的

例题:求出下列逻辑语句的值

8 or 4

0 and 3

0 or 4 and 3 or 7 or 9 and 6

解法:

第一题

a.第一个数不等于0,所以结果为第一个数,8

第二题

a.第一个数是0,所以结果是第一个数,0

第三题

a.先计算and,4and3 和 9and6:0 or 3 or 7 or 6

b.再计算or

0 or 3—>3

3 or 7—>3

3 or 6—>3

故结果为3

3. 2>5 and 3   #False相当于0

解法:

a.先计算比较算式,2>5—>False

b.False and 3 相当于 0 and 3    #False相当于0

c.故结果为False

2<1amd4>6or3and4>5or6

解法:

a.先计算比较算式:False and False or 3 and False or 6

b.再计算and:False and False —> False

3 and False —> 相当于 3 and 0 —> False

故 False or False or 6

c.再计算or:False or False —> False

False or 6 —> 相当于0 or 6 —> 6

故计算结果为6

注意混合型:

如:2>1 or 1

2<1 or 1

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,086
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,561
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,410
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,183
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,820
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,903