1 s=input().split() 2 a,b,c=int(s[0]),int(s[1]),eval(s[2]) 3 print(a+c+b) 4 5 for i in range(26): 6 print(chr(ord(‘a‘)+i),end=‘ ‘) 7 8 n=int(input()) 9 for i in range(1,n+1): 10 if n%i: 11 print(i, end=‘ ‘) 12 13 for i in range(5,0,-1): 14 print(i) 15 16 count=0 17 while count<9: 18 print(count,‘小于9‘) 19 count+=1 20 else: 21 print(count,‘大于等于9‘) 22 23 num=input() 24 lst=num.split() 25 k=int(lst[0]) 26 27 try: 28 while True: 29 for i in lst: 30 k=max(k,int(i)) 31 print(k) 32 lst=input().split() 33 except: 34 print(‘error‘) 35 print(k) 36 37 n=int(input()) 38 k=1 39 s=0 40 for i in range(1,1+n): 41 k*=i 42 s+=k 43 print(s) 44 45 # 目标:算出一组数的最大跨度, 46 # 方法:通过列表函数操作将列表的数据格式转化,进行跨度运算 47 lsi=input().split() 48 lst=[] 49 for i in range(len(lsi)): 50 lst.append(int(lsi[i])) 51 kuadu=max(lst)-min(lst) 52 print(kuadu) 53 54 # 角谷猜想 55 n=int(input()) 56 while n!=1: 57 if n%2==0: 58 print(‘{0:.0f}/2={1:.0f}‘.format(n,n/2)) 59 n=n/2 60 elif n%2!=0: 61 print(‘{0:.0f}*3+1={1:.0f}‘.format(n,3*n+1)) 62 n=3*n+1 63 print(‘End‘) 64 65 # 数2 66 k=input().split() 67 l,r=int(k[0]),int(k[1]) 68 count2=0 69 for i in range(l,r+1): 70 count2+=str(i).count(‘2‘) 71 print(count2) 72 73 # 递归奇异三角形 74 import turtle 75 76 77 def draw(points): 78 # 根据三个坐标,画一个三角形 79 t.penup() 80 t.goto(points[‘left‘]) 81 t.pendown() 82 t.goto(points[‘top‘]) 83 t.goto(points[‘right‘]) 84 t.goto(points[‘left‘]) 85 86 87 def getMid(p1, p2): 88 # 获取两个坐标的中点的坐标 89 return (p1[0] + p2[0]) / 2, (p1[1] + p2[1]) / 2 90 91 92 def sierpinski(degree, points): 93 draw(points) 94 if degree > 0: 95 # 以原三角形左边底角坐标为起点,画一个边长为原来三角形边长一半的等边三角形 96 sierpinski(degree - 1, {‘left‘: points[‘left‘], ‘top‘: getMid(points[‘left‘], points[‘top‘]), 97 ‘right‘: getMid(points[‘left‘], points[‘right‘])}) 98 99 # 以原三角形左边中点坐标为起点,画一个边长为原来三角形边长一半的等边三角形 100 sierpinski(degree - 1, {‘left‘: getMid(points[‘left‘], points[‘top‘]), ‘top‘: points[‘top‘], 101 ‘right‘: getMid(points[‘top‘], points[‘right‘])}) 102 103 # 以原三角形底边中点坐标为起点,画一个边长为原来三角形边长一半的等边三角形 104 sierpinski(degree - 1, 105 {‘left‘: getMid(points[‘left‘], points[‘right‘]), ‘top‘: getMid(points[‘top‘], points[‘right‘]), 106 ‘right‘: points[‘right‘]}) 107 108 109 t = turtle.Turtle() 110 t.speed(3) # 画笔速度 111 # 初始的三角形的三个顶点 112 points = {‘left‘: (-200, -100), ‘top‘: (0, 200), ‘right‘: (200, -100)} 113 sierpinski(1, points) 114 115 turtle.done() 116 #--------------------------------------------------------------------------------------------------------------------------------------- 117 # isinstance判断数据类型 118 a=[1,2,3,5,8,9] 119 print(isinstance(a,list)) 120 #--------------------------------------------------------------------------------------------------------------------------------------- 121 # 指针概念 122 a=[1,2,3] 123 b=[1,2,3] 124 a=b 125 b[0]=5 126 127 print(a) 128 #--------------------------------------------------------------------------------------------------------------------------------------- 129 # 正则表达式,多重分隔符 130 a=‘Beautiful, is; better*than\nugly‘ 131 print(re.split(‘;| |,|\*|\n| ‘,a)) 132 #--------------------------------------------------------------------------------------------------------------------------------------- 133 # #异常处理,及捕获 134 s=‘123asde7988794ffd‘ 135 try: 136 s.index(‘abf‘) 137 except Exception as e: 138 print(e) 139 #--------------------------------------------------------------------------------------------------------------------------------------- 140 141 142 #列表排序 143 #1.定义函数制定功能进行排序 144 def selectionsort(n): 145 for i in range(len(n)-1): 146 for j in range(i,len(n)): 147 if n[i]>n[j]: 148 n[i],n[j]=n[j],n[i] 149 print(n) 150 selectionsort([5,68,79,49,42,855,5,5,48,99,40,5,6]) 151 a=[15,8,5,9,8,7,46,5] 152 a.sort() 153 print(a) 154 155 #2.列表函数进行排序 156 a.sort(reverse=True)#reverse进行排序反转 157 print(a) 158 #--------------------------------------------------------------------------------------------------------------------------------------- 159 #3.在 sort 中使用 key 进行逐次调用自定义函数排序 160 def myKey(x):#此法也可用于多级排序 161 return x%10 162 a=[32,5,8,9,7,4,1] 163 a.sort(key=myKey) 164 print(a) 165 #--------------------------------------------------------------------------------------------------------------------------------------- 166 167 print(sorted(‘This is my lover‘.split(),key=str.lower))#语法:sorted(iterable(可迭代对象), key=None, reverse=False) 168 # #sort 与 sorted 区别: 169 # sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 170 # list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。 171 #时间复杂度均为O(nlog(n)) 172 #--------------------------------------------------------------------------------------------------------------------------------------- 173 #使用lambda进行定义排序 174 k=[(1,2,3),(1,1,1),(3,0,2),(3,2,1)] 175 k.sort(key=lambda x:x[1]) 176 print(k) 177 #--------------------------------------------------------------------------------------------------------------------------------------- 178 #列表元组高级用法 179 #列表:append,extend,insert,remove,reverse,index del map(dunction,sequence) 180 #map(dunction,sequence) 将一个序列通过function映射到另一个序列(字元列..) ,返回延时求值对象即只能调用一次, 181 def f(x): 182 print(x,end=‘‘) 183 return x*x 184 a=map(f,[1,2,3]) 185 print(list(a)) 186 print(tuple(a)) 187 #--------------------------------------------------------------------------------------------------------------------------------------- 188 #此法可以用于简化格式化输入 189 190 x,y,z=map(int,input().split()) 191 print(x,y,z) 192 #--------------------------------------------------------------------------------------------------------------------------------------- 193 #filter 列表过滤 语法:filter(function,sequence)返回一个function为true的序列(字元列..) 194 195 def f1(x): 196 return x%2==0 197 lst=list(filter(f1,[1,2,3,4,5,6,7,8])) 198 print(lst) 199 #--------------------------------------------------------------------------------------------------------------------------------------- 200 #列表生成式 语法:[f(x) for x in range(m,n)] 201 print([x*x for x in range(5,12)]) 202 print([m+n for m in ‘ABC‘ for n in ‘XYZ‘ ]) 203 print([[m+n for m in ‘ABC‘] for n in ‘XYZ‘ ]) 204 205 l=[‘hello‘,‘JAck‘,‘tom‘,12,8,0,89] 206 print([i.lower() for i in l if isinstance(i,str)]) 207 print(sorted([i for i in l if isinstance(i,int)])) 208 # #当然元组也可以有这样的式子 209 print(tuple(x*x for x in range(3,9))) 210 211 #--------------------------------------------------------------------------------------------------------------------------------------- 212 #二维列表 213 #列表拷贝 214 #1.浅拷贝(换壳不换内) 215 a=[1,2,3,4,5,6,7,[0]] 216 b=a[:]#切片操作生成一个新的列表,浅拷贝(仅仅拷贝指针不包含其内容的ID) 217 print(id(a)) 218 print(id(b)) 219 a[-1].append(5) 220 print(a) 221 print(b) 222 print(‘其原因就是元素的指针并没有改变,故为浅拷贝,即生成新的外壳,不改变内在‘) 223 print(id(a[-1])) 224 print(id(b[-1])) 225 # #2.深度拷贝 copy库 226 import copy 227 a=[1,[2,3]] 228 b=copy.deepcopy(a) 229 b[1].append(5) 230 print(a) 231 print(b) 232 # #--------------------------------------------------------------------------------------------------------------------------------------- 233 #二维列表处理例子: 234 #像素灰度处理,给定一个n行m列的二维列表,表示图像包含像素点的行数和列数 235 #接下来n行,每行m个整数,表示图像的每个像素点的灰度,相邻两个整数之间用单个空格隔开,每个元素均在0~255 236 #输出新灰度值为四周像素点灰度值不变,中间新灰度值为其及其上下左右五点的平均值,若为小数则四舍五入 237 import copy 238 n,m=map(int,input().split()) 239 a=[] 240 for i in range(n): 241 a.append(list(map(int,input().split()))) 242 b=copy.deepcopy(a) 243 for i in range(1,n-1): 244 for j in range(1,m-1): 245 b[i][j]=round((b[i][j]+b[i][j-1]+b[i][j+1]+b[i-1][j]+b[i+1][j])/5) 246 print(b) 247 for i in range(0,n): 248 for j in range(0,m): 249 print(b[i][j],end=‘ ‘) 250 print() 251 # #---------------------------------------------------------------------------------------------------------------------------------------
原文:https://www.cnblogs.com/tlwhhy/p/14626333.html