zoukankan      html  css  js  c++  java
  • PTA 乙级 1042 字符统计 (20分) Python

     测试点2,3:并列,输出按字母序最小的那个字母

    Python

    没想起来字典的时候,用了两个列表

    第一版

     1 s = input().lower()     #转化为小写字母
     2 count = 0
     3 n = []
     4 word = []
     5 tu = set(s)             #转化为集合,方便遍历
     6 for i in tu:
     7     if('a' <= i <= 'z'):        #英文字母
     8         n.append(s.count(i))    #出现次数
     9         word.append(i)          #储存字母(与n的角标相同)
    10 for i in range(len(n)):
    11     if count < n[i] or (count == n[i] and word[i] < out):   #or的条件是并列输出按字母序最小的那个字母
    12         count = n[i]
    13         out = word[i]
    14 print("{} {}".format(out, count))

     第二版

     1 s = sorted(input().lower())         #按unicode顺序进行排序,解决并列字母序的问题
     2 count = 0
     3 d = {}                              #{字母:出现次数}字典
     4 for i in s:
     5     if('a' <= i <= 'z'):            #英文字幕
     6         if i in d:
     7             d[i] += 1
     8         else:
     9             d[i] = 1
    10 w = max(d.values())                 #找到最大值
    11 for i in d.keys():                  #找到最大值对应的键值后直接输出
    12     if d[i] == w:
    13         print("{} {}".format(i, w))
    14         exit(0)

  • 相关阅读:
    元类、orm
    MySQL进阶
    python操作mysql
    tf矩阵基础
    tensorflow安装时遇到的问题
    Loading
    弹球落地
    3dMenu
    响应式布局:flex
    渐变linear-gradient
  • 原文地址:https://www.cnblogs.com/SCP-514/p/13393653.html
Copyright © 2011-2022 走看看