day 3-运算符

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

2.比较运算符:>,<,==,!=,>=,<=

所以比较运算符的结果都是布尔值

print(100 > 10)     #True
print(100 > 100)    #False
print(100 < 10)     #False
print(100 < 1000)   #True
print(100 == 100)   #True
print(100 == 10)    #False
print(100 != 100)   #False
print(100 != 10)    #True
print(100 >= 100)   #True
print(100 >= 1000)  #False
print(10 <= 10)     #True

将运算结果赋值给变量

result1 = 10 >= 1
result1 = 10 + 100
print(result1, result1)

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

所有逻辑运算符的结果都是布尔值,操作对象也是布尔值

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
进入公司的条件:分数不低于90分并且年龄大于25
print(score >= 90 and age > 25)

判断num是否在0到100之间

num = 10
print(0 <= num <= 100)            #写法1
print(num >= 0 and num <= 100)    #写法2

b.逻辑或运算:or

运算规则:两个都为False,结果才是Flase;只要有一个是True,结果就是True。(相当于生活中的或者)

"""
True or True    ==True
True or Flase   ==True
False or True   ==True
False or False  ==False
"""

应用:要求多个条件中至少有一个条件满足的时候,使用or将多个条件连接在一起

score1 = 80  #学习成绩
score2 = 98  #草频分
#获取奖学金的条件:学习成绩大于90分或者草频分大于95分
print('是否获得奖学金:',score1 > 90 or score2 > 95)

c.逻辑非运算:not

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

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

进入往往把的条件:年龄不小与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))

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

所有的赋值运算符左边要求都必须是变量;复合赋值运算左边要求除了是变量以外,这个变量还必须已经赋过值
a.=:直接将=右边的值赋给左边的变量

num = 100
num = 12 * 2

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

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

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

num2 = 100
num2 *= 5
print(num2)

num2 = 100
num2 /= 2
print(num2)

5.运算符的优先级

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
先算优先级高的,再算优先级低的。如果有括号,先算括号里面的

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

num = 10
num += True
print(num)

#  注意:不要让数字参与逻辑运算,没有任何意义

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

1.int(整型)

整型包含了数字中所有的整数,包括正整数;负整数和0; 例如:0,10,-100,+123
print(10,-100,+222,0)

2.float(浮点型)

浮点型包含数字中所有的小数;例如:0.0,0.12,-3.14
支持科学计算法:2e3

print(0.0,0.12,-3.14)
print(2e3)   #2e3 = 2*10**3 =2000
print(2e-3)  #2e-3 =2*10**(-3) =0.002
# 补充:可以利用**来进行开发运算
print(9**(1/2))  #9开平方
print(8**(1/3))  #8开3次方

3.bool(布尔)

布尔只有True和False两个值;实质,放布尔参与到数字原酸的适合True就是1,False就是0
print(True == 1)
print(False == 0)

4.complex(复数)

复数是指包含实部和虚部的这种数:10+2j,19j,-10j

print(10+2j)
print((10+2j)+(11-8j))

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

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

type1 = type(10+2j)
print(type1)
print(type(True))
print(type(3))

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

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

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

7.类型转换,类型名()

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

num = 12.5
new_num = int(num)
print(new_num)

print(float(10))

print(float(True))

print(bool(-10.12))        #布尔转整型或者浮点型:True ->1/1.0  False ->0/0.0
                           # 整型/浮点型转布尔:非0数字 ->True  0/0.0 -> False

price = 100
num = float(price)
print(num)

price = 123.123123
num = int(price)
print(num)

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

1.if语句

a.语法

"""
if 条件语句:
    语句块
"""

b.说明

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

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

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

d.应用:某段操作或者某段代码是在满足某个条件下才会执行,不满足条件就不执行的时候就使用if条件语句

if 100:
    print('if语句1')
    print('if语句2')

if 100 > 10:
    print('100大于10')

print('语句3')

如果age的值大于等于18岁就打印'成年'

age = 18
if age >= 18:
    print('成年')

2.if-else

a.语法:

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

b.执行过程:判断条件语句是否为True(如果不是布尔就转换为布尔再看是否为True),

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

c.应用:满足条件执行某个炒作,不满足谈条件执行另外的操作,就使用if-else结构

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


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

如果age的值大于等于18岁打印'已成年'否则打印'未成年'

age = 17
if age>=18:
    print('已成年')
else:
    print('未成年')
    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后面的代码块

score = 100
"""
score > 90   -->优秀
90<= score <=90  -->良好
score < 60 -->不及格
"""
if score > 90:
    print('优秀')
elif 80 <= score:
    print('良好')
elif 60 <= score :
    print('及格')
else:
    print('不及格')

4.if嵌套

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

if score > 90:
    print('优秀')
    if score == 100:
        print('满分')
elif 80 <= score:
    print('良好')
elif 60 <= score :
    print('及格')
else:
    print('不及格')

判断一个数是否是偶数,如果是打印'偶数'否则打印'奇数',如果这个数能被4整除,打印4的倍数

num = 21
if num % 2 == 0:
    print('偶数')
    if num % 4 == 0:
        print('4的倍数')
else:
    print('奇数')

05-str

# print(100 + 34)
# print(100 + '20')

# input函数,不管输入的内容是什么,结果都是字符出啊类型的值
age = int(input('年龄'))  #将输入的数据装潢成整型数据,然后在赋给变量age

print(type(age))
age = int(age)
if age >=18:
    print('已成年')
else:
    print('未成年')

你可能感兴趣的:(day 3-运算符)