Day3总结



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

1.数学运算符:+,-,,/,//,%,*

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

所有的比较运算符的运算结果都是布尔值,True or False

print(100>1)
print(78<43)
print(100==1)
num=10
print(1<=num<=13) #目前只有python支持数学中表示范围的写法
print(11
print(result)

3.逻辑运算符:and(l逻辑与运算),or(逻辑或运算),not(逻辑非运算)

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

1).逻辑与运算:

两个都是True结果都是True,只要有1个条件是False结果就是False
True and True -->True
True and False -->False
False and True -->False
False and False -->False
当要求多个条件同时满足时,就将多个条件用and连接,相当于生活中的并且

练习1:获取奖学金的条件是:操作分不小于95分并且绩点不小于4.0

score=98
grade=3.5
score>=95
grade>=4.0
print('是否能够拿到奖学金:',score>=95 and grade>=4.0)

练习2:判断age对应的人是否属于儿童

age=18
print('是否是儿童:',age>=3 and age<=18) #逻辑运算法
print('s是否是儿童:',3<=age<=18)  #比较运算符 做饭

2).逻辑或运算:

两个都是False结果才是False,只要有一个是True结果就是True.

True or True -->True
True or False -->True
False or True -->True
False or False -->False

当要求多个条件中只要有一个条件满足的时候,就将多个条件用or连接,相当于生活中的或者

练习3:

score=98
grade=4.5
print('能否拿奖学金:',score>95 or grade>4)
a=score>95 and grade>=2.0
b=grade>4.5 and score>=80
print('能否拿奖学金佛:',a or b)

3).短路操作

条件1 and 条件2 如果条件1的结果是False,那么系统不会判断条件2的结果,整个语句的结果直接变成False
条件1 or 条件2 如果条件1的结果是True,系统不会判断条件2的结果,整个语句的结果True

4).逻辑非运算:布尔值取反,True变False,False变True.

not True False
not False True
对某个条件进行否定的时候使用它
年龄不大于18

age=19
print(age<=18)
print(not age>18)

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

所有的赋值运算符的左边必须是变量,复合赋值运算符的左边要求除了是变量以外,这个变量还必须是已经声明过的变量
赋值符号的右边可以是数据(python),已经声明过的变量,运算表达式

name='发顺丰'
sum1=10+33

变量+=数据 是指将变量中保存的值加上指定的数据,将结果重新保存在变量中

num2=1
num2+=2
print(num2)
print(num2,id(num2))
num2*=10
print(num2)
num2/=10
print(int(num2))

5.运算符的优先级

数学运算>比较运算>逻辑运算符(not>and>or)>赋值运算符
先算优先级高的,再算优先级低的。有括号先算括号里面的

num3=10+2>9 and 3*2<4
num3=10+2>9 and 6<4
num3=12>9 and 6<4
num3=True and False
num3=False
print(num3)

print(not True or False)
print(True or not False)


if条件语句

1.什么时候使用if语句

程序中某些代码不是一定会执行,而是在满足某些条件的时候才执行就可以使用if条件语句

2.if结构

1)语法:
if条件语句:
        代码块

>2)说明
if  -  关键字,固定写法
条件语句- 结果是布尔的表达式;本质可以是除了赋值语句以外的任何语句,
            例如:数据,已经声明过的变量,运算表达式
:   -固定写法,一般有冒号的地方,换行产生缩进,缩进TAB键,
代码块  -和if保持一个缩进的一条或者多条语句;满足条件才会执行

3)执行过程

先判读条件语句是否为True(如果条件语句不是布尔值,先转换成布尔再判断)
如果为True就执行代码块中的语句,否则不执行,直接执行后面的其他语句

if True:
    print('语句1')
    print('语句2')
print('语句3')

练习4:如果num是偶数,就打印偶数,否则不打印

num=12
if num%2==0:
    print('偶数')    #s数字中除 0,其他全会判断为True

3.if-else结构

满足某个条件执行一个操作,不满足这个条件执行另外的操作

1)语法
if 条件语句:
代码块1
else:
代码块2

2)说明
if -关键字,固定写法
条件语句 -可以输数据、声明过的变量、不包含赋值符号的运算
:--固定写法
代码块1 -和if保持一个缩进的一条或者多条语句
else -关键字,固定写法
代码块2 -和else保持一个缩进的一条或者多条语句

3.1)执行过程

先判断条件语句是否为True(如果不是布尔值,转换成布尔值再判断)
如果为True,执行代码块1,否则执行代码块2

练习5:如果num死偶数,就打印偶数,否则奇数

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

4.if-elif-else

4.1)语法
if 条件语句1:
代码块1
elif 条件语句2
代码块2
elif 条件语句3
代码块3
...
else:
代码块4

4.2)执行过程
先判断条件语句1是否为True,
如果为True就执行代码块1,
然后整个if-elif-else结构结束,执行其他语句
如果前面所有的语句都不为True,就执行else中的语句
已经


0-3 幼儿
4-12 儿童
13-17 少年
18-28 青年
29-49 壮年
50-60 老年
"""
age=88

if 0

if True:
pass #pass 暂时不知道要打印输出什么,先代替站位

5.if嵌套

可以在任何if结构中根据需求再写其他的if结构

练习6:如果一个数是偶数,否则打印奇数,如果这个数能被4整除,那么打印4的倍数,如果个位数是3,打印最后一位数是3

num=17
if num%2==0:
    print('偶数')
    if num%4==0:
        print('4的倍数')
else:
    print('奇数')
    if num%10==3:
        print('最后一位数是3')
    else:
        print('数据不对')

练习7:判断一个三位数是否为水仙花数(个位的3次方+十位的3次方+百位的3次方刚好等于这个数本身)

num=153
if num==(num%10)**3+((num//10)%10)**3+(num//100)**3:
    print('水仙花数')
else:
    print('不是水仙花数')

百位数,给该数整除100取商。个位数就是对该数对10取余,十位数就是对该数整除10,然后再对10取余



python和数字相关的类型:int、float、bool、complex

1.int(整型):包含所有的整数

python 中可以通过二进制、十进制、八进制和十六进制的形式对整数进行表示
"""

1.1)十进制

基数:0,1,2,3,4,5,6,7,8,9,
进位:逢10进1
位权:123(10)=1102+ 2101+310*0 (10的多少次方)
表示方法:直接写,不需要加前缀,89,1823,90

1.2)二进制数

基数:0,1
进位:逢2进1
位权:101(2)=122+021+12*0 (2的多少次方)
表示方法:在二进制数前加0b

1.3)八进制

基数:0,1,2,3,4,5,6,7
进位:逢8进1
位权:56(8)=581+68**0 **表示次方
表示方法:在八进制数前0o

1.4)十六进制

基数:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
进位:逢16进1
位权:1af=1162+10161+1516*0
**表示方法:在十六进制数前加0x

num=110
print(num+10)
num=0b101
print(num)
num=0o56
print(num)
num=0o12
print(num) 

1.5)进制转换

十进制转换成二进制:bin(其他进制整数)
转换成八进制:oct(其他进制整数)
转换成十六进制:hex(其他进制整数)

print(bin(16))
print(oct(100))  #0o144=100
print(hex(100))  #0x64=100

2.float(浮点数):包含所有的小数,12.5,-0.12

python支持科学计数法
1200==1.2e3 0.001==1e-3
print(1.2e3,1e-3)

3.bool(布尔):只有True和False两个值

True本质就是数字1,False本质就是数字0

print(True+1)
print(False+1)

4.complex(复数):包含所有带有虚部的数

实部+虚部(数字加j)

num1=10+2j
print(num1,type(num1))
num2=2-3j
print(num1+num2)
print(num1*num2)

5.type函数

type(数据) 获取数据对应的类型

6.类型转换

类型名(数据) -->将数据转换成指定类型
int(数据):将数据转换成整型;字符串去掉引号后,本身就是一个整数
float(数据):将数据转换成浮点型;去掉引号后,本身就是一个数字,就能转换成
bool(数据):数字转换成布尔时,除了0和空串其他都会转换成True

num=12.5
nnum=int(12.5)
print(nnum)
print(type(nnum),nnum)
num2=float(100)
print(type(num2),num2)
print(int(10.2))
print(bool(0))

你可能感兴趣的:(Day3总结)