运算符

逻辑运算符

Python逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

运算符 逻辑表达式 描述 实例
and x and y 布尔”与” - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20
or x or y 布尔”或” - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。 (a or b) 返回 10
not not x 布尔”非” - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

关系运算符

Python比较运算符

以下假设变量a为10,变量b为20:

运算符 描述 实例
== 等于 - 比较对象是否相等 (a == b) 返回 False
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 True
<> 不等于 - 比较两个对象是否不相等 (a <> b) 返回 true,这个运算符类似 !=
> 大于 - 返回x是否大于y (a > b) 返回 False
< 小于 - 返回x是否小于y 所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 (a < b) 返回 true。
> = 大于等于 - 返回x是否大于等于y (a >= b) 返回 False
<= 小于等于 - 返回x是否小于等于y (a <= b) 返回 true

a>b>c等价a>b and b>c

字符串

bt1="ab备胎" 
bt2="ac备胎" 
bt3="aa备胎" 
print(bt1!=bt2) #判断字符串不等 
print(bt1==bt2) #判断字符串相等  
print(bt1 <bt2)  #字符串的关系运算符 ,比较大小,用于排序 
print(bt2 >bt1)  #按照ASCII排序,字符的编号排序,第一个相等对比第二个,第二个相等对比第三个
print(ord("0"))  #返回值是对应的十进制整数。
print(ord('a')) 
print(ord('b')) 
print(ord('z'))

身份运算符

  • Python身份运算符

  • 身份运算符用于比较两个对象的存储单元

运算符 描述 实例
is is是判断两个标识符是不是引用自一个对象 x is y, 如果 id(x) 等于 id(y) , is 返回结果 1
is not is not是判断两个标识符是不是引用自不同对象 x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1

运算符优先级

print(1+2*2/3>2*(3-2)+1) 
#   1+1.333>2+1 
#2.33>3 
#  +3  >-2  
#表示正负  not  i   一元运算 
# 3-2  ,2+3  表示加减法   二元运算 
print(     (1+2*2/3)    >   (2*(3-2)+1 )     )  #软件工程规范  

#x  关系   y  关系   z    等价     x 关系  y 且  y关系  z 
print(1<2)  #true  1 
print(1<2>0) #1>0    #2>0   true 
print(1<2<0) #1<0   #2<0    false  
print(5>3) #true  1 
print(5>3>2)  #  5>3  && 3>2     1>2 
print(5>3<2) #  5>3  && 3<2      1<2

习题小结

round()四舍五入

默认四舍五入到整数
round(data,n)四舍五入到小数点后n位
timetime生成随机数字,字符的方法

分支语句

if语句

if会自动转化Bool类型

print(int(True))  #1 ,true 
print(int(False))  #0,false 
print(bool(4))  #true 
print(bool(1))   #true 
print(bool(0))  #0为false ,非0true 
print(bool(-1)) 
print("str",bool(""))  #字符串为空  flase 
print("str",bool("1"))  #字符串为非空,true  

if None:  #if语句自动转化bool类型   bool(none)=false     
    print("hello python")

if else语句

name=input("please input  name") 
age= eval(input("please input age")) 
tall=eval(input("please  input  tall")) 
star=input("please input star") 
pos=input("please input pos") 
# 陈梦奇,北京,年龄,身高,星座, 
if pos!="北京":     
    print("地址不符合,淘汰") 
else:     
    if age <=40:         
        print("年龄不和,淘汰")     
    else:         
        if tall<=170:             
            print("身高不行,淘汰")         
        else:             
            if star!="天蝎座":                 
                print("星座不符合,淘汰")             
            else:                 
                print("符合要求",name) 
#层次对齐。程序错误

if elif else语句
顺序注意隐含条件

if  score>750  and score<0:     
    print("error") 
elif  score>700:     
    print("清北") 
elif score>600: #隐含条件score <=700     
    print("985") 
elif score>580:     
    print("211") 
elif score >550:     
    print("1本") 
elif score> 500:     
    print("二本") 
elif score>400:     
    print("三本") 
elif score>300:     
    print("大专") 
else:     
    print("山东蓝翔")

逆序必须限定范围

 if  score>750  and score<0:     
        print("error") 
elif score>300  and  score<=400:     
    print("大专") 
elif score>400  and  score<=500:     
    print("三本") 
elif score> 500 and  score<=550:     
    print("二本") 
elif score >550 and  score<=580:     
    print("1本") 
elif score>580  and  score<=600:     
    print("211") 
elif  score>600  and  score<=700:  #不顺序,误差,     
    print("985") 
elif  score>700:     
    print("清北") 
else:     print("山东蓝翔")

if嵌套

name=input("please input  name") 
age= eval(input("please input age")) 
tall=eval(input("please  input  tall")) 
star=input("please input star") 
pos=input("please input pos") 
# 陈梦奇,北京,年龄,身高,星座, 
if pos!="北京":     
    print("地址不符合,淘汰") 
else:     
    if age <=40:         
        print("年龄不和,淘汰")     
    else:         
        if tall<=170:             
            print("身高不行,淘汰")         
         else:             
            if star!="天蝎座":                 
                print("星座不符合,淘汰")             
             else:                 
                print("符合要求",name) 
                
#层次对齐。程序错误

绘图实战

import  turtle 
x1,y1=eval(input("circle center")) 
R=eval(input("input R")) 
x2,y2=eval(input("pos x,y")) 
turtle.write("0,0")  

turtle.goto(x1,y1) 
turtle.write("center")  

turtle.penup() 
turtle.goto(x1,y1-R) 
turtle.pendown() 
turtle.circle(R)  

turtle.penup() 
turtle.goto(x2,y2) #位置 
turtle.pendown() 
turtle.pensize(3) 
turtle.goto(x1,y1)  

Rt= ((x1-x2)**2 +(y1-y2)**2)**0.5 
if  Rt==R :     
    turtle.write("在圆形上") 
elif Rt<R :     
    turtle.write("在圆形内") 
else:     
    turtle.write("在圆形外")   
    
turtle.done()

空格用途

诸如表达语句层次感

王涛="天才" 
if  王涛=="天才":  #判断成立,执行或者不成立,不执行     
    print("天生的唇彩")#python中间的空格起到代码块分隔作用

代码中很多错误都是缩进不对成

空语句作用

pass

数学库math

random随机数

a<=randomint(a,b) <=b
num2=random.randint(0,100) #生成0-100的随机数,包含0,包含100 
num1=random.randrange(0,10)#0-9不包含10

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

列表元组与语音识别 上一篇
输入输出与运算符 下一篇