代码如下
dic=dict() d={} s=set() s='helloworld' (1)d=dict() for x in s: if x not in d.keys(): d[x]=1 else: d[x]=d[x]+1 print(d) (2)d2=dict() for x in s: d2[x]=d2.get(x,0)+1 print(d2) (3)d3=dict() for x in s: d3[x]=s.count(x) print(d3)
上面一共给出了三种方法,均是以字典的形式输出,但可以看出,通过第二三种的内置函数方法更简便
def countchar(str): str = str.lower()# 化成小写 ans = [] for i in range(26): #列表赋初值 26 个 0 ans.append(0) for i in str: if (ord(i) >= ord('a') and ord(i) <= ord('z')): ans[ord(i) - ord('a')] = ans[ord(i) - ord('a')] + 1# 统计个数 return ans if __name__ == "__main__": str = input() print(countchar(str)) def countchar(st): #定义数个数的函数 keys = [chr(i + 97) for i in range(26)]# 生成26个字母的key列表 di = dict().fromkeys(keys, 0)# 赋给每个key初始值0 new = []# 建立一个新列表用于存放有序的key st = st.lower()# 将所有输入的字符改为小写 for s in st: #遍历字符串 di[s] = st.count(s)# 输出每个字符的个数, 存放到字典里 def countchar(str): str = str.lower()# 化成小写 ans = [] for i in range(26): #列表赋初值 26 个 0 ans.append(0) for i in str: if (ord(i) >= ord('a') and ord(i) <= ord('z')): ans[ord(i) - ord('a')] = ans[ord(i) - ord('a')] + 1# 统计个数 return ans if __name__ == "__main__": str = input() print(countchar(str)) def countchar(st): #定义数个数的函数 keys = [chr(i + 97) for i in range(26)]# 生成26个字母的key列表 di = dict().fromkeys(keys, 0)# 赋给每个key初始值0 new = []# 建立一个新列表用于存放有序的key st = st.lower()# 将所有输入的字符改为小写 for s in st: #遍历字符串 di[s] = st.count(s)# 输出每个字符的个数, 存放到字典里 for k in keys: #遍历keys, 将其在di中的值添加到新列表, 获得有序的26个字母的个数 new.append(di[k]) return new# 返回存有26个字母个数的列表 if __name__ == "__main__": st = input()# 输入字符串 str1 = ""#定义一个空字符串 for s in st: #遍历输入的字符串 if s.isalpha() != 0: #只有字母才添加到新字符串, 标点忽略不计 str1 += s print(countchar(str1))# 输出列表 for k in keys: #遍历keys, 将其在di中的值添加到新列表, 获得有序的26个字母的个数 new.append(di[k]) return new# 返回存有26个字母个数的列表 if __name__ == "__main__": st = input()# 输入字符串 str1 = ""#定义一个空字符串 for s in st: #遍历输入的字符串 if s.isalpha() != 0: #只有字母才添加到新字符串, 标点忽略不计 str1 += s print(countchar(str1))# 输出列表
上面的两种方法也是输出字符串的字母出现次数,略有不同的是,这里它先设定了26个字母,并使其对应的初始值为0,然后统计字符串中的各字母出现次数,每个字母出现了多少次,即为其对应的初始值处的值。而没出现的字母,其对应的值则仍为初始值0
通过上述的几种方法,我们不难总结出解决这种问题的思路:从键盘随机输入一段字符串,然后循环遍历字符串,通过循环字符串中的每一个字符,统计各类字符出现的次数,循环遍历字符串
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。