运算符:数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算符
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))