import math
#判断素数defprime(n):for i inrange(2,int(math.sqrt(n))+1):if(n%i==0):return0else:return1
num=int(input('请输入一个大于 2 的自然数:'))
list_a=list(range(2,num))#将非素数的元素值修改为-1for i in list_a:if(prime(i)==0):
list_a[i-2]=-1#将list转换成set集合,删除-1,再转换成list排序
list_a=set(list_a)
list_a=list(list_a)
list_a.remove(-1)print(sorted(list_a))
运行结果:
2.
#方法1from collections import Counter
text =input('请输入一个字符串:')#Counter类返回字典键值对,记录key-value,元素的计数
frequencies = Counter(text)#max(dict,key=dict.get)方法返回字典dict中value值最大的键#max(dict)返回字典dict中键的最大值
Maxchar=max(frequencies,key=frequencies.get)print(Maxchar,':',frequencies[Maxchar])
运行结果
#方法2
ee ='test!!!tssdfzfgfz@@@'defmax_letter_count(n):
list4 =[]#存放最终统计结果
list1 =[]#存放[[字符值,频数],]
list2 =[]#存放字符串中各位置字符出现的次数for i in n:
list3 =[]#临时存放字符值以及频数
count_max = n.count(i)#统计字符串第i个元素出现个数
list3.append(i)
list3.append(count_max)
list1.append(list3)
list2.append(count_max)
num=max(list2)for i inrange(len(list2)):if list2[i]== num:
list4.append(list1[i][0])returnlist(set(list4)),'字符出现最大次数为:%d'% num
print(max_letter_count(ee))