白板鱼人 发表于 2020-4-22 14:02:33

第20讲的课后习题

请问各位大佬,第20讲的课后习题的动动手第1题,学生编写了这样一个程序:
def count(a):
    def kind(a):
      list1 = []
      length = len(a)
      for each in range(length):
            if a not in list1:
                list1.append(a)
      return list1
    kind(a)
#编写一个函数先返回字符串中的字符种类列表
    length = len(kind(a))
    for each in range(length):
      print(kind(a) , "出现的次数是",a.count(kind(a)) , "次")
#查看种类列表中各个元素在字符串中出现的次数
a = input("请输入查询的字符串:")
count(a)

输入字符串后最后得出的结果明显不对,求解答

qiuyouzhi 发表于 2020-4-22 14:18:20

你学到字典了吗?
如果学到了,给你个思路;
遇到一个字符,判断它在不在字典里
如果不在,设置这个字符的出现次数为1,
如果在,则把这个字符(键)对应的值+1.
最后遍历字典打印。

白板鱼人 发表于 2020-4-22 14:22:30

qiuyouzhi 发表于 2020-4-22 14:18
你学到字典了吗?
如果学到了,给你个思路;
遇到一个字符,判断它在不在字典里


好的谢谢,还没看到字典,我会留心的

wuqramy 发表于 2020-4-22 14:28:46

按照2楼的说法 可以把字典看作两个列表
一个用来存放出现过的元素 一个用来存放元素出现的次数
最后打印结果时遍历这两个列表
页: [1]
查看完整版本: 第20讲的课后习题