用python编写一段程序,输入若干单词,按照单词长短进行排序,并统计所有单词中每个字母(a-z)出现的次数

Python016

用python编写一段程序,输入若干单词,按照单词长短进行排序,并统计所有单词中每个字母(a-z)出现的次数,第1张

1、解法:对输入的单词进行分割得到列表,遍历列表中的单词,二级遍历单词中的字符,判断字符是否存在字符字典中,存在则计数+1,不存在则初始化字典为1

2、知识点:字典、列表、for循环、if判断、input获得输入、print打印

3、代码如下:

# -*- coding: UTF-8 -*-

#简历一个字典,key=26个英文字母,value为出现次数

wordDict = {}

#获得输入单词字符串

str = input("请输入一串单词")

#用空格分割单词,存到列表

strArr = str.split(sep=' ')

#遍历列表中的单词

for word in strArr:

    #遍历单词中的字母

    for ch in word:

        #判断字典中是否存在键key

        if ch in wordDict:

            wordDict[ch] = wordDict.get(ch)+1#计数+1

        else:

            wordDict[ch] = 1#计数初始化为1

#打印输出

for key,value in wordDict.items():

    print("%s=%d"%(key, value))

是排了顺序的哟!

A和a是不同的,排序是按照ascii码排的,大写字母的ascii码在小写字母之前。比如A的ascii码为65,a的ascii码为97。所以在排序时,大写字母开头的单词会排在前面。

你要是想忽略大小写,同时保留原始的大小写的话,可以修改all_words.sort()为all_words.sort(key=lambda x: x.lower())