请问这个Python怎么写啊

 

d = {}
d['u0'] = ('a3', 'b', 'c')
d['u1'] = ('a1', 'a2', 'a3', 'c')
d['u2'] = ('a', 'a3')
n = input('输入用户名:')
print('该用户产品数量:', len(d.get(n, '')))

r = []
for i in d.values():
    r += list(i)
rr = {}
for i in set(r):
    rr[i] = r.count(i)
rank = sorted(rr.items(), key=lambda x: x[1], reverse=True)
print('产品排行榜:', rank)

m = int(input('输入第几名的产品:'))
for i, k in enumerate(rank):
    if i <= m-1:
        print(f'第{i+1}名产品名称:{k[0]},用户数:{k[1]}')

只要更换代码的字典就行了,换成你题目的数据

如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢

a = {'u0':('TV Bank', 'ATM', 'Telphone Bank', 'POS'), 'u1':('Ebank', 'Telphone Bank'), \
     'u2':('TV Bank', 'POS'), 'u3':('POS', 'Ebank'), 'u4':('POS', 'Ebank', 'ATM'),\
     'u5':('TV Bank', 'Ebank', 'ATM'), 'u6':('POS', 'Ebank', 'TV Bank'),\
     'u7':('TV Bank', 'Telphone Bank', 'POS'), 'u8':('MobilePhone Bank', 'Ebank'),\
     'u9':('Personal Bank', 'Telphone Bank'), 'u10':('Ebank', 'Personal Bank')}

# 1
name = input()
print(len(a[name]))

# 2
lst = []
for i in a:
    for j in a[i]:
        lst.append(j)
for i in set(lst):
    print(i, lst.count(i))  # 每种电子产品用户数
sort_a = sorted(set(lst), key = lambda x:lst.count(x), reverse=True)
print(sort_a)

# 3
rank = int(input())
for i in range(rank):
    print(sort_a[i], lst.count(sort_a[i]))

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632