)
目录一、字符串排序并截取前k个二、对输入的元素排序三、简单密码换算四、空汽水瓶兑换汽水计算最多喝汽水数量一、字符串排序并截取前k个输入n个整数找出其中最小的k个整数并按升序输出n, k map(int, input().split()) l_num list(map(int, input().split())) s[] if 1 n 1000: for i in range(n): if 1 l_num[i] 10000: s sorted(l_num) print( .join(map(str,s[:k])))二、对输入的元素排序输入整型数组和排序标识对其元素按照升序或降序进行排序输入描述第一行输入数组元素个数第二行输入待排序的数组每个数用空格隔开第三行输入一个整数0或1。0代表升序排序1代表降序排序输出描述输出排好序的数字方法一sort方法while True: try: num int(input()) # 输入元素个数 list_num list(map(int,input().split())) # 输入整型数组 list_sort int(input()) # 输入排序标识 if list_sort 0: # 升序排列 list_num.sort() if list_sort 1: # 降序排列 list_num.sort(reverse True) print( .join(map(str,list_num))) # 列表转换为字符串返回结果 except: break#方法二sorted函数 nint(input()) dlist(map(int,input().split())) xint(input()) ld[] if x 0: for i in sorted(d): ld.append(i) else: dsorted(d,reverseTrue) for i in d: ld.append(i) print( .join(map(str,ld)))三、简单密码换算九键手机键盘上的数字与字母的对应 1--1 abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0把密码中出现的小写字母都变成九键键盘对应的数字如a 变成 2x 变成 9. 而密码中出现的大写字母则变成小写之后往后移一位如X 先变成小写再往后移一位变成了 y 例外Z 往后移是 a 。数字和其它的符号都不做变换。方法一res [] num input() for i in num: if i.isupper(): #是否全大写 if i Z: res.append(a) else: res.append(chr(ord(i.lower()) 1)) elif i in abc: res.append(2) elif i in def: res.append(3) elif i in ghi: res.append(4) elif i in jkl: res.append(5) elif i in mno: res.append(6) elif i in pqrs: res.append(7) elif i in tuv: res.append(8) elif i in wxyz: res.append(9) else: #数字和其他字符不变 res.append(i) print(.join(res))方法二dict { a:2,b:2,c:2, d:3,e:3,f:3, g:4,h:4,i:4, j:5,k:5,l:5, m:6,n:6,o:6, p:7,q:7,r:7,s:7, t:8,u:8,v:8, w:9,x:9,y:9,z:9, Z:a } f input() y [] for i in f: if i in dict: j dict[i] elif i.isupper(): j chr(ord(i.lower())1) else: j i y.append(j) for x in y: print(x,end)四、空汽水瓶兑换汽水计算最多喝汽水数量某商店规定三个空汽水瓶可以换一瓶汽水允许向老板借空汽水瓶但是必须要归还。 小张手上有n个空汽水瓶她想知道自己最多可以喝到多少瓶汽水。 注意本题存在多组输入。输入的 0 表示输入结束并不用输出结果。#n为空气水瓶数m为最多可以喝到的数量m (n - (n % 2) * 1) // 2 while True: try: n int(input()) m 0 if n0: break if 1 n 100: if n % 2 0: m n // 2 else: m (n - (n % 2) * 1) // 2 print(m) except: break