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)

  • 相关阅读:
    java桌面应用开发可视化工具windowbuilder详细使用方法
    Java 编程思想(第四版)
    锚点
    IT资源
    JDK安装与环境变量配置
    Maven的安装及配置
    jsp 文件导出到Excel
    linux 命令
    java web 登录功能相关资料
    IBM SPSS Modeler 预测建模基础(一)
  • 原文地址:https://www.cnblogs.com/SCP-514/p/13393653.html
Copyright © 2011-2022 走看看