python

定义一个随机数字列表
import random
nums = [random.randint(1,10) for i in range(20)]

统计每个数字出现的频率
freq = {}

for n in nums:
if n in freq:
freq[n] += 1
else:
freq[n] = 1

创建一个数字:频率字典
num_freq = {n:f for n,f in freq.items()}

按值从大到小排序这个字典
sorted_freq = sorted(num_freq.items(), key=lambda x: x[1], reverse=True)

取值最大的3个数字
top_3 = sorted_freq[:3]

求这3个数字之和
sum_3 = sum([n for n, f in top_3])

打印相关信息
print(f'原序列:{nums}')

print(f'每个数字出现频次:{freq}')
print(f'频次最高的3个数字:{top_3}')
print(f'这3个数字之和:{sum_3}')

从原序列中删除这3个数字
for n, f in top_3:
nums.remove(n)

对剩余数字排序并打印
nums.sort()

print(f'删除3个数字后序列:{nums}')

判断当前序列是否为等差数列
n = len(nums)
d = nums[1] - nums[0]   # 计算公差
for i in range(2, n):
if nums[i] - nums[i-1] != d:
is_arithmetic = False
break

else:
is_arithmetic = True

print(f'当前序列是否为等差数列:{is_arithmetic}')

这个代码展示了以下逻辑思维能力:

生成一个随机数字序列并统计每个数字出现频次
创建一个数字:频次字典并按值排序
取出频次最大的3个数字和计算它们之和
从原序列删除这3个数字
对剩余数字排序并打印
判断当前序列是否为等差数列,如果是计算公差并输出结果
spam lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor creativity violence