从给定的列表[a,b,c,d,e,f,g],从给定的列表中随机挑选20次以生成随机字符串,输出在该字符串中出现了第i个只出现了j次的字母(i, j为键盘输入)
时间: 2023-05-26 09:05:37 浏览: 118
我是AI语言模型,无法进行键盘输入,以下是Python代码实现:
import random
# 给定列表
lst = ['a','b','c','d','e','f','g']
# 随机挑选20次生成随机字符串
random_str = ''.join(random.choices(lst, k=20))
# 获取出现次数为j的字母列表
def get_j_count_lst(string, j):
temp_dict = {}
for s in string:
if s in temp_dict:
temp_dict[s] += 1
else:
temp_dict[s] = 1
j_lst = [k for k, v in temp_dict.items() if v == j]
return j_lst
# 获取出现次数为j的字母列表中第i个字母
def get_i_j_count_letter(string, i, j):
j_lst = get_j_count_lst(string, j)
if len(j_lst) < i:
return "不存在第%d个只出现了%d次的字母" % (i, j)
return j_lst[i-1]
# 测试
i = int(input("请输入i: "))
j = int(input("请输入j: "))
result = get_i_j_count_letter(random_str, i, j)
print("在字符串'%s'中,第%d个只出现了%d次的字母是%s" % (random_str, i, j, result))
阅读全文