day3总结-运算符、if语句及其嵌套

运算符

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

比较运算符

> ,<,==,!=,>=,<=

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

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

a=100
b=10
print(a == b)
print('a' == 'b')

#将运算结果赋值给变量
result1 = 10 >= 1
result2 = 10 + 100
print(result1,result2)
#判断num是否在0到100之间
num=10
print(0<=num<=100)

逻辑运算符

and,or,not

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

a.逻辑与运算:and

运算规则:and运算符前后两个值都为True,结果才为True;只要有一个False,结果就是False。

应用:要求多个条件同时满足的时候,使用and将多个条件连接起来。

score = 90
age = 20
#进入公司条件,分数大于等于90,并且年龄大于25
print(score >=90 and age > 25)
#判断num是否在0到100之间
num=10
print(num <= 100 and num >= 0)

b.逻辑或运算:or

运算规则:or运算符前后两个值都为False,结果才为False;只要有一个True,结果就是True。

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

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

c.逻辑非运算:not

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

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

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

练习:获取奖学金条件:成绩大于90且操评分不低于80,或操评分不低于95且成绩大于75

# score1 = input('请输入成绩:')
# score2 = input('请输入操评分:')
#通过input获取的值为字符串类型,不能直接和数字作比较
score1 = 80
score2 = 98
print(score1 > 90 and not (score2 < 80) or not (score2 < 95) and score1 > 75)
print((score1 > 90 and score2 >= 80) or (score2 >= 95 and score1 > 75))

赋值运算符

=,+=,-=,=,/=,//=,%=,*=

所有赋值运算符左边要求都必须是变量,复合赋值运算符除了左边要求是变量外,这个变量还必须已经赋过值

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

num = 100

num = 100 + 2

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

赋值过程:将原变量中的数据取出来,和右边的值做相应的数学运算,然后将新的结果重新赋给变量

num = 3
num += 3
print(num)

num -= 1
print(num)

num *= 3
print(num)

num /= 5
print(num)

num %= 2
print(num)

num **= 3
print(num)

num //= 2
print(num)

运算符的优先级

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

先算优先级高的,再算优先级低的;如果有小括号,先算小括号内的。

num = 10
num += 12 * 3
print(num)      #结果为46

注意:

  • 数字不要参与逻辑运算,没有意义。
  • 布尔值可以参与数学运算,其中True值为1,False为0。

数字

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

1.int整型

整型包含数字中所有整数,包括正整数,负整数和0。

print(0,+100,-20,23)

2.float浮点型

浮点型包含数字中所有小数,如:0.0,0.12,-3.14

支持科学计数法:2e3

print(0.0,0.12,-3.14)
print(2e3)         #2*10**3=2000.0
print(2e-3)        #2*10**(-3)=0.002

补充:可以利用**来开平方

print(9**(1/2))
print(8**(1/3))

3.bool布尔

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

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

4.complex复数

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

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

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

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

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

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

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

result = isinstance(10,float)
print(result)

result = isinstance(3e4,int)
print(result)

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

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

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

print(float(new_num))

print(float(True))

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


if语句

分支结构:Python中只有if条件语句

1.语法

if 条件语句:
    语句块

2.说明

if -固定写法,是关键字

条件语句 -可以是一个值,一个变量,一个运算表达式,但不能是赋值语句

-固定写法(英文标点),在Python中有冒号的地方一般都会产生缩进

语句块 -一行或多行代码(前面要有缩进,Tab或空格都可以,多行代码缩进要一致)

3.执行过程

先判断条件语句的结果是否为True(如果不是布尔值就看转换后的布尔值是否为True)。如果为True就执行语句块对应的代码,否则就不执行。

4.应用

某个操作或某段代码是在满足某个条件才执行,不满足条件就不执行时就是用if语句。

if False:
    print('hello')
if 'false':
    print('hello')
false = 3
if false:
    print('hello')

age = 8
#如果age大于等于18打印成年
if age >= 18:
    print('成年')


if-else语句

1.语法

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

2.执行过程

判断条件语句是否为True,如果为True就执行语句块1,否则执行语句块2。

3.应用

满足条件执行某个操作,不满足条件执行另一个操作就使用if-else结构。

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

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

if-elif-else语句

1.语法

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

2.说明

在此结构中,elif可以根据情况有多个,else结构可根据情况省略。

3.执行过程

先判断条件语句1是否成立,成立执行代码块1,然后整个if语句结束;

条件语句1不成立时,就判断条件语句2是否成立,成立执行代码块2,然后整个if语句结束;

条件语句2也不成立时,就判断条件语句3是否成立,成立执行代码块3,然后整个if语句结束;

以此类推;

如果前面所有条件语句都不成立,就执行else后面的代码块。

"""
练习:
score > 90 -->优秀
80 <= score <= 90 -->良好
60 <= score <= 79 -->及格
score < 60 -->不及格
"""

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

if嵌套

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

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

num = int(input('输入一个整数:'))      #将输入的数据转换成整型在赋值给num

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

经验总结:

input函数,不管输入的是什么内容,结果都是字符串类型的值。

你可能感兴趣的:(day3总结-运算符、if语句及其嵌套)