Python学习笔记(四)--Python中运算符与表达式
Python运算符包括:
-赋值运算符
-算术运算符
-关系运算符
-逻辑运算符
表达式:
将不同数据(包括变量、函数)用运算符号按一定规则连接起来的一种式子。
1.算术运算符:
+:加法:x+y
-:减法:
*:乘法
/:实数除法
//:整数除法
%:求余数,取模,除法求余运算
**:求幂运算
实例演示:
>>> 1+1
2
>>> 3-2
1
>>> 4-5
-1
>>> 4/2
2
>>> 3/2 #注意int整型和float浮点型的区别
1
>>> 3//2
1
>>> 5.6/2
2.8
>>> 5.6//2 #//整除法,只求整除的部分
2.0
>>> 5/2
2
>>> 5%2 #求余数
1
>>> 10%3
1
>>> 15%8
7
>>> 2**10 #幂的运算
1024
>>> 3**3
27
>>> 2**-1
0.5
>>> 9**-1
0.1111111111111111 #9的一次方分之1
>>> 2**-10*1024 #2的10次方分之1再乘以1024
1.0
>>>
2.赋值运算符:
'=' 等于:x=3,y='abcde'
'+='加等于:x+=2
'-='减等于:x-=2 x减去后面的2再赋值给x,前提是x这个变量已经定义并赋值
'*='乘等于:x*=2
'/='除等于:x/=2
'%='求余等于:x%=2
实例演示:
>>> a=100
>>> a+=123
>>> a
223
>>> a-=456
>>> a
-233
>>> a*=233**-1
>>> a
-1.0
>>> a/=-1
>>> a
1.0
>>> b=10
>>> b%=4
>>> b
2
>>>
3.关系运算符:
'<'小于:1<2
'>'大于:5>4
'<='小于等于:1<=1
'>='大于等于:3>=2
'!='不等于:1!=2
'=='完全等于:2==2
实例演示:
>>> 1<2
True
>>> 3<1
False
>>> 3>2
True
>>> 2>=2
True
>>> 2==2
True
>>> 1!=2
True
>>> 1==2
False
>>> 3==3.0
True
4.逻辑运算符:
'and'逻辑与:True and False
'or'逻辑或:True or False
'not'逻辑非:not True
实例演示:
>>> 1>2 and 2<3
False
>>> 1<2 and 2<3
True
>>> 1>2 or 2<3
True
>>> 1>2 or 2>3
False
>>> 1<2 or 2==2
True
>>> not 1<2
False
>>> not 1==2
True
>>>
运算符的优先级:
见截图:F:\学习资料(临时)\Python\中谷教育-Python视频教程(完整版)\运算符的优先级.jpg
运算符的优先级
在常规表达式中,存在着多个运算符,比如:1+2*3-1/2*、3/2,那么就存在着计算优先度的问题
一般的,运算符存在高低级别,在同一个表达式中,高优先级的先运算:
比如:1*2+3*3=11而不是15
对于同级别的运算符,按从左到右处理
例如:8*4/2*3 = 48
运算符优先级由低到高是:
运算符
Lambda
逻辑运算:or
逻辑运算: and
逻辑运算:not
成员测试:in,not in
同一性测试:is,is not
比较:<,<=,>,>=,!=,==
按位或:|
按位异或:^
按位与:&
移位:<<,>>
加法与减法:+,-
乘法、除法与取余:*,/,%
正负号:+X,-X
按位翻转:~X
指数:**
移位:<< ,>>
详见:
Python 运算符 | 菜鸟教程
http://www.runoob.com/python/python-operators.html
>>> 1<<1
2
>>>
练习:
======
答案见如下链接:
运算符与表达式 - qq_23258369的博客 - CSDN博客 http://blog.csdn.net/qq_23258369/article/details/52153147
=====
1.写一个四则运算器
#!/usr/bin/python
#coding=utf-8
a=int(raw_input('请输入a: '))
b=int(raw_input('请输入b: '))
print a,'+',b,'=',a+b
print a,'-',b,'=',a-b
print a,'*',b,'=',a*b
print a,'/',b,'=',a/b
print'下面是分割线'
print 50*'*'
print 'a+b','=',a+b
print 'a-b','=',a-b
print 'a*b','=',a*b
print 'a/b','=',a/b
*************************************************************
Linux下的/usr/bin 这个目录下存放的都是应用,如python,sqlplus..
*************************************************************
2.使用交互模式或写一个小程序完成下面问题
-3人吃饭,分摊35.27美元饭费,他们还想留15美分的小费,怎么分
>>> print(35.27*(1+0.15)/3)
13.5201666667
-计算12.5mX16.7m的房间面积和周长
>>> print 12.5*16.7
208.75
>>> print (12.5+16.7)*2
58.4
-写一个程序,把华氏温度转化为摄氏温度。转换公式C=5/9*(F-32)
def convert(f):
# 不知道什么是整除问题,所以没办法帮你解决
return 5 / 9 * (f - 32)
temperature = 54
print(convert(temperature))
>>> def convert(f):
... # 不知道什么是整除问题,所以没办法帮你解决
... return 5 / 9 * (f - 32)
...
>>> temperature = 54
>>> print(convert(temperature))
0
>>> 5/9
0
>>> 5.0/9
0.5555555555555556
>>> F=122
>>> C=(5.0/9)*(F-32)
>>> print C
50.0
>>>
-写一个小程序运算以80km/h的速度行驶200km需要的时间,并显示答案。
>>> distance=200
>>> speed=80
>>> time=distance/speed
>>> print time
2
>>> time=float(distance/speed)
>>> print time
2.0
>>> time=float(distance)/speed
>>> print time
2.5
>>>