能请教一下大佬,这个代码的意思吗?
# 输入一个字符串,输出其中出现次数最多的字符及其出现的次数。要求使用字典str1 = input("请输入一个字符串:");
d = dict();
i = 0;
while i < len(str1):
if str1 in d:
d] += 1;
else:
d] = 1;
i += 1;
v = max(d.values());
print("请输出出现最多的字符:", end=" ");
for key, value in d.items():
if (value == v):
print(key, end=" ");
print();
print("请输出出现最多字符的次数:", end=" ");
print(v); 全部代码,我不是很懂它的意思 这个程序的结果是dict只有一个元素,key是输入的字符串,value是字符串的长度 本帖最后由 z5560636 于 2021-9-22 00:31 编辑
改了几处BUG 你自己可以参考一下:
# 输入一个字符串,输出其中出现次数最多的字符及其出现的次数。要求使用字典
# 获取键盘输入
str1 = input("请输入一个字符串:");
# 创建一个字典
d = dict();
# 设置一个临时变量用于判断是否遍历完字符串
i = 0;
# 开始遍历循环控制变量:i条件:是否超出输出长度
while i < len(str1):
# 字符是否在字典中,如果在则加1
# 此处记一个BUG 正确用法 str1
if str1 in d:
# 此处记一个BUG 正确用法 str1
d] += 1;
# 字符不在字典中,创建一个itemkey:d]value:1
else:
# 此处记一个BUG 正确用法 str1
d] = 1;
# 循环变量递增
i += 1;
# 索引赋值 取字典所有值的最大数
v = max(d.values());
print("输出出现最多的字符:", end=" ");
# 遍历 找出 value 和 索引相等,则输出key值
for key, value in d.items():
if (value == v):
print(key, end=" ");
print();
print("请输出出现最多字符的次数:", end=" ");
print(v); z5560636 发表于 2021-9-22 00:30
改了几处BUG 你自己可以参考一下:
我想问一下这个end是什么 意思呢?
print("输出出现最多的字符:", end=" "); z5560636 发表于 2021-9-22 00:30
改了几处BUG 你自己可以参考一下:
还有这一句我还是不是很明白
for key, value in d.items():
if (value == v):
print(key, end = " "); 它不是打印了key,但运行结果里面没有key哎 pallas 发表于 2021-9-22 10:49
它不是打印了key,但运行结果里面没有key哎
字典遍历,返回的是两个变量key, value
key value 组合成一个完整的键值对。
页:
[1]