关于Python字典的问题

giao马路 2020-02-05 05:54:26
大家好,我是一名大一学生,现在在学习Python,可能问题对于大家有些许简单,劳烦各位朋友,先感谢大家帮我解惑! 题目内容: 统计在某字符串中各个字母出现的次数 str=input("请输入一串字母") #将输入字母保存在str中 vocabulary={} #建立空字典vocabulary value=0 for i in str: #遍历字符串str while i in vocabulary: #如果i在字典里就更新value value = value + 1 vocabulary.update({i: value}) else: #不在就创建新字典{i:value} value = 1 vocabulary.update({i: value}) for item in vocabulary.items(): #打印字典 print(item) 我遇到的问题是while循环不能运行,但是没有报错,所以非常疑惑,希望有人可以指点,十分感谢! 如果大家能有更好的方法解决问题,也可以提出来,十分感谢!
...全文
234 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
giao马路 2020-02-27
  • 打赏
  • 举报
回复
引用 4 楼 paullbm的回复:
楼主,你好像把问题想复杂了吧?
这么写就能达到你的目的:

#将输入字母保存在str中
str1=input("请输入一串字母:")
dict1={} #建立空字典dict1
for s in str1:
cnt = dict1.get(s,0) #出现了字符s则取对应的统计值,未出现则返回默认值0
cnt += 1
dict1.update({s:cnt}) #根据key:value的方式进行更新字典

print(dict1)
哈哈十分感谢你了,我现在已经解决了,十分感谢
paullbm 2020-02-27
  • 打赏
  • 举报
回复
楼主,你好像把问题想复杂了吧?
这么写就能达到你的目的:

#将输入字母保存在str中
str1=input("请输入一串字母:")
dict1={} #建立空字典dict1
for s in str1:
cnt = dict1.get(s,0) #出现了字符s则取对应的统计值,未出现则返回默认值0
cnt += 1
dict1.update({s:cnt}) #根据key:value的方式进行更新字典

print(dict1)
giao马路 2020-02-06
  • 打赏
  • 举报
回复
引用 2 楼 a1248060903的回复:
[quote=引用 1 楼 zara的回复:]不懂这个语言,从代码上来看,while 应该是 if 吧,循环是由 for 实现的才对。另外,value 是个单纯的变量好像也不对,不能统计出每个字母的出现次数,它应该是个字母表对应的数组或表,或定义为字母表内的一个元素。
感谢,就把while改成if就好了,刚开始学就一下卡住了哈哈[/quote] 好像这里if和else里不能都用value了
giao马路 2020-02-06
  • 打赏
  • 举报
回复
引用 1 楼 zara的回复:
不懂这个语言,从代码上来看,while 应该是 if 吧,循环是由 for 实现的才对。另外,value 是个单纯的变量好像也不对,不能统计出每个字母的出现次数,它应该是个字母表对应的数组或表,或定义为字母表内的一个元素。
感谢,就把while改成if就好了,刚开始学就一下卡住了哈哈
zara 2020-02-05
  • 打赏
  • 举报
回复
不懂这个语言,从代码上来看,while 应该是 if 吧,循环是由 for 实现的才对。另外,value 是个单纯的变量好像也不对,不能统计出每个字母的出现次数,它应该是个字母表对应的数组或表,或定义为字母表内的一个元素。

21,453

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧