|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
# 输入一个字符串,输出其中出现次数最多的字符及其出现的次数。要求使用字典
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[i]))
#append ()用于在列表末尾添加新的对象
# 找到临时列表最大值赋给变量list_max(临时列表最大值)
list_max = max(tmp)
# 循环i小于列表长度(再次循环,目的是找到临时列表最大值对应的输入列表索引值)
for i in range(len(list_input)):
# 如果临时列表最大值与该索引对应的临时列表值不相等,程序继续但不打印
if list_max != tmp[i]:
continue
# 如果相等,将该索引对应的输入列表值传递给变量str_max(最多字符)
str_max = list_input[i]
# 打印最多字符和临时列表最大值
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([i,str_input.count(i)])
- #append ()用于在列表末尾添加新的对象
- # 找到临时列表最大值赋给变量list_max(临时列表最大值)
- print(tmp)
- list_max = max(tmp)
- print("出现最多的字符:%s ,出现了:%d 次"%(list_max[0],list_max[1]))
- # 输入一个字符串,输出其中出现次数最多的字符及其出现的次数。要求使用字典
- str_input = input("请输入一个字符串:")
- str_maxsum(str_input)
复制代码
|
-
|