怎么做这个python程序设计题?

要求如图,另外要求简洁美观,最后展示结果是图中框框部分
想到用字典,和不区分大小写的对应知识,但是不太会应用,另外怎么单独一个字母一个字母查也没有思路。希望得到大神指点。谢谢。

按照题目要求编写的Python程序如下

s=input("请输入只包含字母的字符串:")

s=s.lower()

result={}

for i in s:

if i in result.keys():

result[i]+=1

else:

result[i]=1

print(result)

源代码(注意源代码的缩进)

追问

不好意思打扰了,这个我还是不太明天

输入之后说是没定义。。。

我也不太明白怎么做到最后显示就是 请输入那几个字然后就能出结果

追答

你是在提示字符串"请输入只包含字母的字符串:"后面紧跟着输入abdabadafefffee然后回车吗?

追问

是的

啊那个问题已经解决了,我在第一行改为s=raw_input就好啦

但是还有一件事想请教

就是我不是专业学这个的,我不太明白那个in result.keys()和result[i]+=1这步和else下面这步

追答

什么问题?

追问

可以说关键的步骤我看不太懂,可能是我真没学过

我一开始想到的是for和count循环,也不知道怎么下手,
非常感谢

追答

if i in result.keys():表示如果i字符在result这个字典的所有键中
result[i]+=1表示给result的i键的值加1
else:表示如果i字符不在result这个字典的所有键中
result[i]=1表示给result字典中加一个键i并且把这个键的值赋为1

追问

谢谢您

追答

不客气.

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-16
Python采用的是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。

>>> x = 3

>>> id(x)

10417624

>>> y = 3

>>> id(y)

10417624

>>> y = 5

>>> id(y)

10417600

>>> id(x)

10417624本回答被提问者采纳
第2个回答  2019-06-16
s = 'dasdasdaDSADASFSCSAWDASSD'
s_dict = {}
s = s.lower() #大写变小写
s_set = set(s) #去重
s_set_list = list(s_set)
s_set_list.sort()#排序
for s_str in s_set_list:
s_dict[s_str] = s.count(s_str)#生成字典
print(s_dict)
第3个回答  2019-06-16

第4个回答  2019-06-16
变化相等的数是情况。
相似回答