求助大佬,这个代码怎么修改呢
# 输入一个字符串,输出其中出现次数最多的字符及其出现的次数。要求使用字典str_input = print("请输入一个字符串:")
# 定义一个函数str_maxsum(字符串中最多的字符及数量)参数str_input(字符串输入)
def str_maxsum(str_input):
# 创建一个空的临时列表
tmp = []
# 将输入的字符串列表化,list_input(输入列表)
list_input = list(str_input)
# 循环i小于输入列表长度
for i in range(len(list_input)):
# 按索引统计输入列表里每个元素出现的次数,并依次添加到临时列表
tmp.append(list_input.count(list_input))
#append ()用于在列表末尾添加新的对象
# 找到临时列表最大值赋给变量list_max(临时列表最大值)
list_max = max(tmp)
# 循环i小于列表长度(再次循环,目的是找到临时列表最大值对应的输入列表索引值)
for i in range(len(list_input)):
# 如果临时列表最大值与该索引对应的临时列表值不相等,程序继续但不打印
if list_max != tmp:
continue
# 如果相等,将该索引对应的输入列表值传递给变量str_max(最多字符)
str_max = list_input
# 打印最多字符和临时列表最大值
print(str_max, list_max)
为什么这个代码执行结果不对呢? 这题用字典解,更加便捷,你可以去自己想想如何实现
以下代码基于你的代码修改:
# 定义一个函数str_maxsum(字符串中最多的字符及数量)参数str_input(字符串输入)
def str_maxsum(str_input):
# 创建一个空的临时列表
tmp = []
str_max = None
# 将输入的字符串列表化,list_input(输入列表)
list_input = set(str_input)
# 循环i小于输入列表长度
for i in list_input:
# 按索引统计输入列表里每个元素出现的次数,并依次添加到临时列表
tmp.append()
#append ()用于在列表末尾添加新的对象
# 找到临时列表最大值赋给变量list_max(临时列表最大值)
print(tmp)
list_max = max(tmp)
print("出现最多的字符:%s ,出现了:%d 次"%(list_max,list_max))
# 输入一个字符串,输出其中出现次数最多的字符及其出现的次数。要求使用字典
str_input = input("请输入一个字符串:")
str_maxsum(str_input) z5560636 发表于 2021-9-22 00:15
这题用字典解,更加便捷,你可以去自己想想如何实现
以下代码基于你的代码修改:
谢谢!
页:
[1]