关于Python字典的两道题目

2025-06-29 07:03:47
推荐回答(4个)
回答1:

dd = dict()
while True:
    key = input("存入的键:")
    value = input("存入的值:")
    dd[key] = value
    flag = input("是否继续存入[y/Y/N/n]:")
    if flag in ['n','N']:
        break

keys = list(dd.keys())
values = list(dd.values())
print(keys)
print(values)

我的是3版本,自己改改,输入错误看看是不是数据类型问题

第五题:

letter = dict()
strs = input("输入一串字符串:")

for i in strs:
    letter.setdefault(i,0)
    letter[i] += 1

keys = list(letter.keys())
keys.sort()
for i in keys:    
    print(i,letter[i])

回答2:

2.7建议用 raw_input ,这个函数返回的总是字符串,你自己根据情况判断是否需要对字符串再做进一步处理,比如转换成其他类型等。因为你也没具体说出什么错,只能帮到这里了。

第五题的提示已经很明显了,*用字典*。 你可以以每个字母做为字典的 key,对应的值则是这个字母的出现次数 (通过循环,每次处理字符串中的一个字母,以字母为key去++字典)。

回答3:

#4题
m = {}
while True:
    s = raw_input("please input the key=value:")
    if '=' not in s:
        break
    k, v = s.split('=')
    m[k] = v
print m
#python2中通过raw_input获取输入值。
#5题
from collections import Counter
s = 'asdfsdlkjlewjfklf'
print dict(Counter(s))


如果解决了您的问题请采纳!

如果未解决请继续追问

回答4:

第五题:

>>> inStr = raw_input("Please INput")
Please INput123456abcabc
>>>counts = {}
>>>for i in inStr:
counts[i] = counts.get(i, 0) + 1
>>>counts
{'a': 2, 'c': 2, 'b': 2, '1': 1, '3': 1, '2': 1, '5': 1, '4': 1, '6': 1}