大鹏

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

 

  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
View Code

 看这个冒泡排序

 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
View Code

 

 

 

 

 

 

 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
View Code

 

 

 

 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)))
View Code

 

posted on 2022-04-06 22:02  pf42280  阅读(33)  评论(0编辑  收藏  举报