Python自动化--语言基础2--运算符、格式化输出、条件语句、循环语句、列表、元组
运算符包括:算术运算符、比较运算符、赋值运算符、逻辑运算符、成员运算符、身份运算符
算术运算符
% 取模(余数)
// 取相除的整数部分
/ (5/2=2.5)
比较运算符
== 等于
!= 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于
1 if a==b: 2 print(1) 3 else: 4 print(2)
赋值运算符
a+=b 等于 a=a+b
a-=b a=a-b
a*=b a=a*b
a/=b a=a/b
a%=b a=a%b
a**=b a=a**b
a//=b a=a//b
逻辑运算符
and or
非0和非空(null)值为true,0或者null为false
a = b = 10 if not(a and b): #有里往外看循环 print(1) else: print(2)
成员运算符
in not in
a = 1 b = 20 c = [1,2,3,4,5] if a in c: print("a在c列表中") else: print("a在c列表中") if b not in c: print("b不在c列表中") else: print("b在c列表中")
身份运算符
== 判断变量的值是否相等
is 判断某个变量身后的id是否一样
if a is b: print("a和b的id一样") else: print("a和b的id不一样") print(id(a)) print(id(b))
格式化输出
print("a = %.2f"%(a*3)) #a = 3.00 print("xiaoxiao\n") print("我的名字是%s,今年%d"%('小小',27))
条件语句
flag = False name = "xiao" if name == "qia": flag = True print("欢迎来到python全栈测试工程师课堂") else: print(name)
1 num = 9 2 if num>=0 and num <=10: 3 print("very well")
循环语句
循环语句:while,for,嵌套
循环控制语句:break跳出并终止循环,continue跳出本次循环执行下一次循环
while语句
1 count =2 while count<9: 3 print("count=",count) 4 count+=1 5 print("while循环结束")
break及continue语句
i = 1 while i<10: i+=1 if i%2 > 0: continue print(i) print("==============================") i = 1 while True: print(i) i+=1 if i>10: break
if ... else... 和 while ... else ... 是一样的。
for语句
1 for index in range(0,3): #等同于range(3) 2 print(index) #打印0,1,2
1 index =2 starnames = ['今年','明年','后年'] 3 for index in range(len(starnames)): 4 print(starnames[index])
range(5) #01234
range(1,5,2) #13
range(1,5) #1234
列表
列表修改
1 L = ["我","shi",520] 2 L[1]="是" #修改下标1的值 3 print(L)
删除一个数值
1 del L[1] #删除下标为1的值 2 del L[1:3] #删除下标为1和2的值
向列表追加一个元素
1 L.append("呜哈哈") 2 print(L)
切片
namee = ["a","b","c",345,"love"] #切片 print(namee[:3]) #输出结果:['a', 'b', 'c'] print(namee[-3:]) #输出结果:['c', 345, 'love'] print(namee[-3:][-1][0]) #输出结果:l #步长的概念 print(namee[::2]) #输出结果:['a', 'c', 'love']
元组
tup1 = (1,2,3,4) tup2 = (8,9) tup3 = tup1 + tup2 print(tup3) # del tup3 #元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组 # print(tup3) #删除元组之后打印就会报错 print(len(tup3)) #打印元组的个数 print(21 in tup3) #判断元素是否在元组中 tup_good = (2,44,76,0,-26) print(len(tup_good)) print(max(tup_good)) print(min(tup_good)) print(list(tup_good)) #元组转换成列表
练习:
1、计算练习
x = 1+2.0+3
x=17,x*=3
x=17,x/=3
x=15,x/3
x=15.0,x/3
x=17,x//3
x=17,x%3
x=3,x**3
x = 1+2.0+3 print(x) x=17 x*=3 print(x) x=17 x/=3 print(x) x=15 x = x/3 print(x) x=15.0 x = x/3 print(x) x=17 x =x//3 print(x) x=17 x = x%3 print(x) x=3 x = x**3 print(x)
2、list列表练习
LI = ["快乐大本营",2016,"我是歌手"] print(LI[1]) LI.append("非诚勿扰") print(LI) LI.extend("男生女生") print(LI) LIS=[1,2,3] LI.extend(LIS) print(LI) LI.insert(1,2017) #插入的下标位置和具体的值 LI.insert(-1,2017) #实际上是插入在倒数第二位13 LI.pop(1) #删除下标是1的元素 16 LI.remove(2016) #移除元素2016 print(LI) print(LI.index("快乐大本营")) #获取下标 print(LI.count("生")) #统计出现的次数
正向和反向排序 list_sort = [2,3,1,4] list_sort.sort() #sort方法是重新排序列表不生成新的列表 print(list_sort) list_sorted = sorted(list_sort) #sorted排序列表并生成新的列表 print(list_sorted) list_sort.reverse() #倒排 print(list_sort)
1 #替换列表中所有的3为3a 2 num = ["alex","jack",3,34,45,56,76,87,78,45,3,3,3,87686,98,76] 3 for i in range(num.count(3)): 4 ele_index = num.index(3) #获取首次3出现的坐标 5 num[ele_index]="3a" #修改3为3 6 print(num)
3、for循环冒泡排序
lis = [56,12,1,8,354,10] for i in range(0,len(lis)): for j in range(i+1,len(lis)): if lis[i] > lis[j]: lis[i],lis[j] = lis[j],lis[i] print(lis) 自带方法进行列表的排序 lis.sort() print(lis)
4、打印每个名字
1 L = ["Bart","Lisa","Adam"] 2 for i in range(len(L)): 3 print("Hello,%s"%L[i])
5、合并去重
list1 = [2, 3, 8, 4, 9, 5, 6] list2 = [5, 6, 10, 17, 11, 2] list3 = list1+list2 print(list3) #不去重只进行两个列表的组合 print(set(list3)) #去重,类型为set需要转换成list print(list(set(list3)))
6、以下两行代码输出一个空的列表
list = ['a', 'b', 'c', 'd', 'e'] print(list[10:])
7、输出长度为5,append只增加一个元素,把[5,6,7,8]当做一个元素追加在列表中
numbers=[1,2,3,4] numbers.append([5,6,7,8]) print(len(numbers))