鱼C论坛

 找回密码
 立即注册
查看: 2839|回复: 6

[已解决]求助 求助!!

[复制链接]
发表于 2023-2-25 15:38:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
大佬们 帮我看看这题怎么做
最佳答案
2023-2-26 10:33:49

这题其实不难,建议下次自己摸索摸索,自己先试试看,不明白才可以这里发问

题解:
strings = input().split()
LIST = list()

print('=' * 10) # 这是分割线

for each in strings:
    if each.startswith('k'):
        print(each) # <--------------------------------- (1)
        LIST.append(each) # <--------------------------- (1)

print('=' * 10) # 这是分割线

SET = set(strings) # <---------------------------------- (2)
print(len(SET)) # <------------------------------------- (2)

print('=' * 10) # 这是分割线

DICT = dict()
for each in SET:
    DICT[each] = LIST.count(each) # <------------------- (3)
MAX = max(DICT.items(), key = lambda elem: elem[1])# <-- (3)
print(f"{MAX[0]}:{MAX[1]}") # <------------------------- (3)
key1 key1 key2 key3 value2 key1 key2 key1 value1 value3 key1
==========
key1
key1
key2
key3
key1
key2
key1
key1
==========
6
==========
key1:5
屏幕截图 2023-02-25 153651.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-2-25 19:02:07 | 显示全部楼层
所以你的代码呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-25 20:53:08 | 显示全部楼层

就是不会打才求助啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-25 20:57:34 | 显示全部楼层
最好自己做
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-25 22:48:58 | 显示全部楼层
本帖最后由 chinajz 于 2023-2-25 23:10 编辑
def get_counts(x):
    counts={}
    for n in x:
        if n in counts:
            counts[n] += 1
        else:
            counts[n] = 1
    return counts
#words = input("input words: ").split()
words = ' key1 key1 key2 key3 value2 key1 key2 key1 value1 value3 key1'.split()
print ('words:',words)
valuex = ''
for i in range (len(words)):
    a = words[i]
    b = words[i].strip('k')
    if a is not b :
        valuex += a + ','
value1 =  valuex[:-1].split(',')
print ("value1=",value1)
value2 =get_counts(value1)
print('value2=',value2)
n = 0
swap = ''
for i in value2:
    m = int(value2[i])
    if n <= m:
        n= value2[i]
        swap = i
print('max_key_value : ',swap,':',n)     
运行结果:
#input words: key1 key1 key2 key3 value2 key1 key2 key1 value1 value3 key1
words: ['key1', 'key1', 'key2', 'key3', 'value2', 'key1', 'key2', 'key1', 'value1', 'value3', 'key1']
value1= ['key1', 'key1', 'key2', 'key3', 'key1', 'key2', 'key1', 'key1']
value2= {'key1': 5, 'key2': 2, 'key3': 1}
max_key_value :  key1 : 5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-26 10:33:49 | 显示全部楼层    本楼为最佳答案   

这题其实不难,建议下次自己摸索摸索,自己先试试看,不明白才可以这里发问

题解:
strings = input().split()
LIST = list()

print('=' * 10) # 这是分割线

for each in strings:
    if each.startswith('k'):
        print(each) # <--------------------------------- (1)
        LIST.append(each) # <--------------------------- (1)

print('=' * 10) # 这是分割线

SET = set(strings) # <---------------------------------- (2)
print(len(SET)) # <------------------------------------- (2)

print('=' * 10) # 这是分割线

DICT = dict()
for each in SET:
    DICT[each] = LIST.count(each) # <------------------- (3)
MAX = max(DICT.items(), key = lambda elem: elem[1])# <-- (3)
print(f"{MAX[0]}:{MAX[1]}") # <------------------------- (3)
key1 key1 key2 key3 value2 key1 key2 key1 value1 value3 key1
==========
key1
key1
key2
key3
key1
key2
key1
key1
==========
6
==========
key1:5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-26 12:39:22 | 显示全部楼层
本帖最后由 元豪 于 2023-2-26 12:40 编辑
def t(a): # 用于查找出现次数最多的元素的函数
    y = {} # 字典储存元素和次数
    for i in a:
       y[a.count(i)] = i # 储存
    o = list(y) # 列表化
    o.sort() # 排序
    return y[o[-1]] # 返回出现次数最多的元素
n = input().split()
x = set(n) # 集合化
print('=' * 10)
[print(i) for i in n if i[0] == 'k'] # 打印k的元素
print('=' * 10)
print(len(x)) # 打印长度
print('=' * 10)
print('{}:{}'.format(y := t(n), n.count(y))) # 打印次数最多的元素和次数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-10 17:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表