Day3

运算符:数据运算符、比较运算符、逻辑运算符、赋值运算符

2.比较运算符:> , < , ==(等于) , !=(不等于) , >= , <=

所有比较运算符的结果都是bool值

print(100>90)      #True
print(100>1000)    #False
print(100==100)    #True    
print(100!=100)    #False
result1=10>=1      #运算中,先算比较运算符,赋值运算符优先级最低
print(result1)     #结果为True而非10

3.逻辑运算符:and,or,not

所有逻辑运算符的结果、操作对象都是bool值

a.逻辑与运算:and

运算规则:两个都为True,结果才是True;只要有一个是False,结果就是False

True and True    =True
True and False   =False
False and True   =False
False and False  =False

应用:要求多个条件同时满足的情况下使用and

score=90
age=20
print(score>=95 and age>15)

判断num是否在0到100之间

num=10
print(num>0 and num<100) #逻辑运算符写法
print(0<=num<=100)       #python独有数学写法
b。逻辑或运算:or

运算规则:两个都为False结果才为False:只要有一个是True,结果就是True

True or True   ==True
True or False  ==True
False or True  ==True
False or False ==False

应用:要求多个条件中只要有一个条件满足时使用or

num=100
print(num>100 or num>200 or num==100) #True
score1=80   #学习成绩
score2=90   #操评分
#获得奖学金的条件:学籍成绩大于90分或者操评分大于95分
print(score1>90 or score2>95)         #False
c.逻辑非运算:not

运算规则:True变成False,False变成True

not True == False
not False== True

应用:对一个条件进行否定时用not

# 进入网吧的条件:年龄不小于18岁
age=9
print('是否能进入网吧:',not age < 18)
print('是否能进入网吧:',age >= 18)

# 练习:获取奖学金的条件:学习成绩大于90分并且操评分不低于80分,或者操评分不低于95分并且学习成绩大于75分)
score1=80   #学习成绩
score2=98   #操评分
print('能否获得奖学金:',(score1>90 and score2>=80) or (score2>=95 and score1>75))
print(score1>90 and score2>=80) 
print(score2>=95 and score1>75)

4.赋值运算符:=,+=,-=,=,/=,//=,%=,*=

所有的复制运算符左边要求都必须是变量;符合赋值运算符左边要求除了是变量意外还要求变量已经赋过值

a.=:直接将=右边的值赋给左边的变量

num=100 #num的值是100
num=12*2 #num的值是24

b.+=,-=,=,/=,//=,%=,*=

# '变量+=值' 就是"变量=变量+值"
# 赋值过程:将原变量中的数据取出来,和后面的值相加,然后将最新的结果重新赋给变量
num2=10
num2+=2
print(num2)              #num2的值10+2=12

num2=10
num2*=2
print(num2)              #num2的值是10*2=20

num2/=4 
print(num2)              #num2的值是20*4=5

5.运算符的优先级

数学运算符>比较运算符>逻辑运算符>赋值运算符

num=10
num+=12*3
print(num)

运算符:数据运算符、比较运算符、逻辑运算符、赋值运算符

2.比较运算符:> , < , ==(等于) , !=(不等于) , >= , <=

#所有比较运算符的结果都是bool值


#print(100>90)      #True
#print(100>1000)    #False
#print(100==100)    #True   
#print(100!=100)    #False
#result1=10>=1      #运算中,先算比较运算符,赋值运算符优先级最低
#print(result1)     #结果为True而非10

3.逻辑运算符:and,or,not

所有逻辑运算符的结果、操作对象都是bool值

a.逻辑与运算:and
# 运算规则:两个都为True,结果才是True;只要有一个是False,结果就是False
'''
True and True    =True
True and False   =False
False and True   =False
False and False  =False
'''
#应用:要求多个条件同时满足的情况下使用and
score=90
age=20
print(score>=95 and age>15)
# 判断num是否在0到100之间
num=10
print(num>0 and num<100) #逻辑运算符写法
print(0<=num<=100)       #python独有数学写法
b。逻辑或运算:or

运算规则:两个都为False结果才为False:只要有一个是True,结果就是True

True or True   ==True
True or False  ==True
False or True  ==True
False or False ==False
'''
# 应用:要求多个条件中只要有一个条件满足时使用or
num=100
print(num>100 or num>200 or num==100) #True
score1=80   #学习成绩
score2=90   #操评分
#获得奖学金的条件:学籍成绩大于90分或者操评分大于95分
print(score1>90 or score2>95)         #False
c.逻辑非运算:not

运算规则:True变成False,False变成True

# not True == False
# not False== True
# 应用:对一个条件进行否定时用not

# 进入网吧的条件:年龄不小于18岁
age=9
print('是否能进入网吧:',not age < 18)
print('是否能进入网吧:',age >= 18)

# 练习:获取奖学金的条件:学习成绩大于90分并且操评分不低于80分,或者操评分不低于95分并且学习成绩大于75分)
score1=80   #学习成绩
score2=98   #操评分
print('能否获得奖学金:',(score1>90 and score2>=80) or (score2>=95 and score1>75))
print(score1>90 and score2>=80) 
print(score2>=95 and score1>75)

4.赋值运算符:=,+=,-=,=,/=,//=(整除),%=(求余),*=

所有的复制运算符左边要求都必须是变量;符合赋值运算符左边要求除了是变量意外还要求变量已经赋过值

a.=:直接将=右边的值赋给左边的变量
num=100      #num的值是100
num=12*2     #num的值是24
b.+=,-=,=,/=,//=,%=,*=

'变量+=值' 就是"变量=变量+值"
赋值过程:将原变量中的数据取出来,和后面的值相加,然后将最新的结果重新赋给变量

num2=10
num2+=2
print(num2)              #num2的值10+2=12

num2=10
num2*=2
print(num2)              #num2的值是10*2=20

num2/=4 
print(num2)              #num2的值是20*4=5

5.运算符的优先级

数学运算符>比较运算符>逻辑运算符>赋值运算符

num=10
num+=12*3
print(num)               #num的值是10+12*3=46

# 注意:不要让数字参与逻辑运算,结果毫无意义

python中和数字相关的类型有4种:int,float,bool,complex

1.int(整型)

包含数字中所有的整数;如:0,10,-100,+28

2.float(浮点型)

包含数字钟所有的小数;如:0.0,0.12,-3.14
支持科学计数法:2e3

print(2e3)        #2e3=2*10**3=2000
print(2e-3)       #2e-3=2*10**(-3)=0.002

#补充:可以利用**来进行开方运算
print(3**2)
print(9**(1/2))    #9开平方
print(8**(1/3))    #8开3次方

3.bool(布尔)

布尔只有True和False两个值;实质,当bool参与数字运算的时候True就是1,False就是0

print(True==1)
print(False==0)

4.complex(复数)(仅了解)

复数是指包含实部和虚部的这种数:

10+2j,19j,-10j
print(10+2j)

5.获取数据类型:type()

type(数据) -获取括号中执行的数据对应的类型

type1=type(2*30-3.3)
print(type1)        #type1是float(浮点型)

print(type(True))   #True是bool(布尔型)

num=3e4 
print(type(num))    #num是float(浮点型)

6.判断是否是指定的类型:isinstance()

isinstance(数据,类型)-判断指定的数据是否是指定的类型,结果为布尔值

result=isinstance(10,float)   #判断数字是否为float
print(result)

result=isinstance(num,int)    #判断num是否为int
print(result)

6.类型转换:类型名()

类型名(数据)-将指定的数据转换成指定的类型

num=12.5                     #将本是float的nun转换为int,结果为12
new_num=int(num)
print(new_num)

print(float(100))            #将本是int的100转换为float,结果为100.0

print(bool(10.12))           #数字转换为bool时,除了0为False,其他皆为True

print(float(True))           #bool转数字时,True为1或1.0,False为0或0.0

print(bool(0.0))             #同上

分支结构:只有if语句(if条件语句)

1.if结构

a.语法

if 条件语句:
语句块

b.说明

if - 固定写法,是关键字
条件语句 - 可以是值,可以是变量,可以是运算表达式等(不能是赋值语句)
: - 固定写法,(在python中,有:的地方一般会产生缩进)
语句块 - 一行或者多行代码(必须和if保持一个缩进)
'''

c.执行过程:先判断条件语句的结果是否为True(如果不是bool值则看转换为bool值后是否为True)

如果为True就执行语句块对应的代码,否则不执行

d.应用:某个操作或某段代码实在满足某个条件下才会执行,不满足则不执行
if 100:
    print('if语句1')
    print(2222)

if 100>10:
    print('200大于10')
  
# 如果age大于等于18则打印'成年'
age=22
if age>=18:
    print('成年')

2.if-else结构

a.语法:

if 条件语句:
语句块1
else:
语句块2

b.执行过程:判断条件语句是否为True(如果不是bool值则转换为bool判断)

如果为True则执行语句块1,否则执行语句块2

c.应用:满足条件执行某个操作,不满足条件则执行其他的操作,则使用if-else结构
sub=20
if sub>=19:
    print('合格')
else:
    print('不合格')

num=10
if num%2==0:
    print('偶数')
else:
    print('奇数')

if num%2:
    print('奇数')
else:
    print('偶数')

# 如果age的值大于等于18打印'已成年',否则打印'未成年'
age=10
if age>=18:
    print('已成年')
else:
    print('未成年')

3.if-elif-else结构

a.语法:

if 条件语句1:
代码块1
elif 条件语句2:
代码块2:
elif 条件语句3:
代码块3
else:
代码块4

b.说明:在if-elif-else结构中,elif可以有多个,else结构可以省略
c.执行过程:先判断条件语句1是否成立,成立则执行代码块1,然后整个if语句结束

条件语句1不成立时,就判断条件语句2是否成立,成立则执行代码块2,然后结束if语句
条件语句2不成立时,就判断条件语句3是否成立,成立则执行代码块3,然后结束if语句
····如果前面的条件都不成立,则执行else下的代码块。然后结束if语句。

num=20
if num<19:
    print('wrong_answer1')
elif num<18:
    print('wrong_answer2')
elif num<17:
    print('wrong_answer3')
elif num<16:
    print('wrong_answer4')
else:
    print('GG')

score=8
if score>90:
    print('优秀')
elif 80<=score:
    print('良好')
elif 60<=score:
    print('及格')
else:
    print('不及格')
4.if嵌套

在if、elif。else对应的语句块中,可以根据情况写一个或多个其他的if语句结构

score=100
if score>90:
    print('优秀')
    if score==100:
        print('满分')
elif 80<=score:
    print('良好')
elif 60<=score:
    print('及格')
else:
    print('不及格')
# 练习:判断一个数是否为偶数,如果是则打印'偶数',否则打印打印'奇数,如果这个数能被4整除则打印'4的倍数'
num=10
if num%2==0:
    print('偶数')
    if num%4==0:
        print('4的整数')
else:
    print('奇数')

你可能感兴趣的:(Day3)