python的运算,数据和流程判断
昨日回顾
基本数据
1.列表list:由中括号,括起元素,元素之间逗号隔开,元素可以为数字,字符和数列,通过索引值来获得存储数据
2.字典dict:由大括号,括起元素,元素之间逗号隔开,元素由K:V的键值对组成,
K表示变量的名称,建议用字母表示,是对V的描述
V是变量值,可以为数字,字符,列表的等
dict = {
'name':'jason',
'age':18
}
#按K取值
dict[name] #jason
3.元组tuple:由小括号,括起元素,元素之间逗号隔开,性质与列表相同,区别是:不可更改元素
4.集合set:由大括号,括起元素,元素之间逗号隔开,功能为去重,交叉运算,元素基本为数字、字符
5.布尔值bool:只有True和False
用户交互
输入函数: input: 输出函数: print:
格式化输出
占位符%s res=' 过%s关,斩六%s' print(res %(5,'将')) # 过5关,斩六将 %s运用于输出数字和字符 占位符%d 只能运用于数字 print('%06d' % 1234) # 001234 ''' %06d表示输出六位,多余位用填充 '''
运算符
+,-,*,/,= # 加减乘除,等于 // # 整除 ** # 次方 3**2 3的二次方 输出9 赋值运算符 +=,-=,/=,//=,*= 比较运算符 <,>,<=,>=,!= # 输出值为布尔值 交叉赋值 m = 20 n = 10 n,m = m ,n print(n,m) # n为20,m为10 解压赋值 res=['kk','bb','jj'] name1,name2,name3=res print(name1,name2,name3) # 输出 kk bb jj 链式赋值 x=y=z=10 # x,y,z都为10
今日内容概括
- 逻辑运算符
- 成员运算符
- 身份运算符
- 流程控制(重点 难点)
逻辑运算符
- 与
- 或
- 非
1.与and 性质: True and False ——》False False and False ——》False True and True ——》True eg: print(2>1 and 1<3) # True print(False and 1>2 and 1<0 and 3>5 and 6>2) # False 2.或or 性质: True or False ——》True False or False ——》False True or True ——》True eg: print(2>1 or 1>3) # True print(True or 1>2 or 1<0 or 3>5 or 6>2) # True 3.非not 性质: not True ——》False not False——》True ''' 与、或、非的优先级设置: 可以使用括号,把要先运行的代码括起 '''
成员运算
in 性质: 判断元素是否在群体内 eg: print('b' in 'abcd') # True res = ['vv','dd'] print('vv' in res) #True 非用法: print('vv' not in 'vvbb') #False
身份运算
补充: id()查看变量,数字等,所在内存地址 is 性质:判断变量绑定值的内存地址是否相等 eg: name1 = 'jj' name2 = 'jj' print(name1 is name2) # True ''' 但是,值相同的变量,内存地址不一定相同 内存地址相同的变量,值一定相同 '''
如此现象是因为,name1比name2少用一个内存地址,在name2绑定值时又多申请了一个地址
流程控制
- 顺序结构
- 分支结构
- 循环结构
1.顺序结构
最常见的结构,就是由上往下执行命令,一般程序都是如此执行
2.分支结构
根据条件执行不同的流程
if语句: if 条件1: #判断条件1是否符合 执行内容 #符合条件1执行 elif 条件2: #当条件1不符合,判断条件2是否符合 执行内容 #符合条件2执行 elif 条件3: #当条件1和条件2不符合,判断条件1和条件1是否符合 执行内容 #符合条件1和条件2执行 else: #当条件1,条件2和条件3不符合,执行else 执行内容 eg: age=14 if age<18: print("小孩") elif age<40: print("青年") elif age<60: print("中年") else: print("老年") # 输出结果为小孩 if的嵌套模式 age=26 answer='不同意' if age>35: print("阿姨好") else: # 小于35岁 print("我爱你") if answer is '同意': print("结婚") else: # 不同意的结果 print("坐牢") # 输出结果为坐牢 ''' 用代码的缩进表示不同的流程的从属关系 缩进量相同属于同一从属关系 缩进量建议为一tab,四个空格 '''
2.循环结构
根据条件,循环执行不同的流程
while循环: while 条件:# 符合条件就下列子命令,不符合不停执行子命令 子命令 #执行完后返回while判断条件 break #停止本层循环 continue #停止本次循环执行下次循环 eg: count =1; while count<11: if count ==7: count +=1 # count值加1,避免运行到7时停止运行 continue # 结束本次循环,进行下一次 print(count) count+=1 # 显示1到10的数,但排除7 count =1; while count<11: if count ==7: break # 结束本层循环 print(count) count+=1 # 显示1到7的
数组的运用
strs = '123456'
print(strs.find('9'))
a=[1,2,3,4,5,6,7,8,9,10] #从第0个元素读取前几个元素全部 print(a[:2]) #后几个元素不读 print(a[:-2]) #读取第4个元素后开始读到6 print(a[4:6]) #从前往后取3个元素 print(a[::3]) #从后往前取3个元素 print(a[::-3]) #从下标为4的元素翻转读取 print(a[4::-1])