1 while True: 2 try: 3 S = {} #记录每个字符出现的次数 4 a = list(input()) #将输入的字符串转换为列表 5 for i in range(len(a)): 6 if(a[i] in S): #若是S中有,那么只是计数加一 7 S[a[i]] += 1 8 else: #S中没有,那么加入S,计数为1 9 S[a[i]] = 1 10 # 对S.items排序S.items()=[(key1,value1),(key2,value2)]是个列表;-ele[1]代表先对value逆序排序, 11 # ele[0]代表如果value相等的情况下按key的ASCLL码正向排序 12 S = sorted(S.items(),key=lambda ele:(-ele[1],ele[0]), reverse=False) 13 14 res = '' 15 for i in range(len(S)): #按题目要求输出 16 res = res + S[i][0] 17 print(res) 18 except: 19 break 20 ###################################################################### 21 while True: 22 try: 23 s = input() 24 result = {} 25 for i in s: 26 if i not in result: 27 result[i] = s.count(i) 28 output_list = sorted(result.items(), key = lambda d :(-d[1],d[0]), reverse=False)#这个排序的写法需要背诵,背诵起来。。。 29 #注意 sorted返回的结果会把字典变成元组了,需要取通过i[0]取其键值。 30 for i in output_list: 31 print(i[0], end = '') 32 print() 33 except: 34 break 35 36 37 ###################################################################### 38 while True: 39 try: 40 m = input() 41 s = sorted(m, key=ord) 42 string = '' 43 result = [] 44 for i in s: 45 if i.isalpha() or i.isdigit() or i == ' ': 46 if i not in string: 47 string += i 48 49 for i in string: 50 result.append(s.count(i)) 51 52 result.sort(reverse=True) 53 sort_s = '' 54 for i in range(len(result)): 55 for j in s: 56 if result[i] == s.count(j) and j not in sort_s: 57 sort_s += j 58 print(sort_s) 59 except: 60 break 61 ###################################################################### 62 while True: 63 try: 64 s = input() 65 ss = sorted(list(set(s)), key=lambda x:s.count(x)*1000-ord(x), reverse=True) 66 print("".join(ss)) 67 except: 68 break 69 70 ####################################################################### 71 while True: 72 try: 73 a = input() 74 s = sorted(set(a)) 75 ss = sorted(s,key=lambda x:a.count(x),reverse=True) 76 print(''.join(ss)) 77 except: 78 break 79 80 ####################################################################### 81 while True: 82 try: 83 input_string = input() 84 sorted_list = sorted(input_string) 85 dict, ans = {}, '' 86 87 for item in sorted_list: 88 if item not in dict: 89 number = sorted_list.count(item) 90 dict.setdefault(item, number) #这个设置默认值我也喜欢用 91 92 new_list = sorted(dict.items(), key=lambda items:(-items[1], items[0])) 93 94 for item in new_list: 95 ans += item[0] 96 97 print(ans) 98 except: 99 break 100 101 ####################################################################### 102 while True: 103 104 try: 105 str_input = input() 106 new_list = list(set(str_input)) 107 str_dict = {} 108 for c in new_list: 109 str_dict[c] = str_input.count(c) 110 res_list = sorted(sorted(str_dict.items(), key=lambda x: x[0]), key=lambda y: y[1], reverse=True) 111 result = '' 112 for i in res_list: 113 result += i[0] 114 print(result) 115 116 except: 117 break
看这个冒泡排序
1 while True: 2 try: 3 s = input() 4 # 统计字符次数 5 dic = {} 6 for c in s: 7 if c not in dic: 8 dic[c] = 1 9 else: 10 dic[c] += 1 11 lst = list(dic.keys()) 12 # 冒泡排序 13 for i in range(len(lst) - 1): 14 for j in range(i + 1, len(lst)): 15 # 次数降序排列 16 if dic[lst[i]] < dic[lst[j]]: 17 lst[i], lst[j] = lst[j], lst[i] 18 elif dic[lst[i]] == dic[lst[j]]: 19 # ASCII升序排列 20 if lst[i] > lst[j]: 21 lst[i], lst[j] = lst[j], lst[i] 22 print(''.join(lst)) 23 except: 24 break 25 26 27 28 while True: 29 try: 30 s = input() 31 result = {} 32 for i in s: 33 if i not in result: 34 result[i] = s.count(i) 35 output_list = sorted(result.items(), key = lambda d :(-d[1],d[0]))#这个排序的写法需要背诵,背诵起来。。。 36 #Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。 37 #d = {'one': 1, 'two': 2, 'three': 3} 38 #>>> d.items() 39 #dict_items([('one', 1), ('two', 2), ('three', 3)]) 40 #注意 sorted返回的结果会把字典变成元组了,需要取通过i[0]取其键值。 41 for i in output_list: 42 print(i[0], end = '') 43 print() 44 except: 45 break
1 # 方法1 2 while True: 3 try: 4 str1 = input() 5 str2=str1[::-1] 6 print(str2) 7 #print(''.join(reversed(str1))) 8 except: 9 break 10 11 #方法2 12 while True: 13 try: 14 str1 = input() 15 str2=str1[::-1] 16 print(str2) 17 #print(''.join(reversed(str1))) 18 except: 19 break 20 21 # 方法3 22 while True: 23 try: 24 str1 = list(input()) 25 # 等价 str1 = list(map(str,input())) 26 print(''.join(reversed(str1))) 27 except: 28 break 29 30 # 方法4 31 while True: 32 try: 33 s = list(input()) 34 print(''.join(s[::-1])) 35 except: 36 break
1 while True: 2 try: 3 a,b=list(map(int,input().split())) 4 5 if a <b: 6 a , b=b,a 7 for i in range(a,a*b+1,a): 8 if i%b==0: 9 print(i) 10 break 11 except: 12 break 13 14 15 16 #方法1:暴力方法 遍历一遍 17 ''' 18 #两种生成a,b的方法,一种是map,一种是[ ]列表生成器 19 a,b=map(int,input().split()) 20 a,b=[int(x) for x in input().split()] 21 ''' 22 while True: 23 try: 24 a, b = [int(x) for x in input().split()] 25 if a < b: 26 a,b=b,a 27 for i in range(b): 28 if((a*(i+1)) % b == 0): 29 print(a*(i+1)) 30 break 31 except: 32 break 33 34 35 a, b = map(int, input().split()) 36 #方法2:最大公因数的计算式子和最小公倍数的乘积=a*b, 所以用a*b/最大公因数就可以 37 def gys(a, b): 38 while (b != 0): 39 c=a%b 40 a=b 41 b=c 42 return a 43 print(int((a*b)/gys(a,b)))