集合Set

目录

一、去重问题


一、去重问题

题目描述:

 小明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性他先用计算机生成了N个1~1000之间的随机整数(N<=1000),N是用户输入的,对于其中重复的数字,只保留一个,把其余相同的数字去掉,不同的数对应着不同的学生的学号,然后再把这些数从小到大排序,按照排好的顺序去找同学做调查,请你协助明明完成“去重”与排序工作

输入描述
第 1 行为 1 个正整数,表示所生成的随机数的个数:N;
输出描述
第 1 行为 生成的N 个没有排序的随机数正整数。
第 2 行为 N个用空格隔开的正整数,为从小到大排好序的不相同的随机数。

运行限制
最大运行时间:1s
最大运行内存: 128M

分析:集合可以用来去重,即每生成一个随机数便将其加入到定义的空集合中集合即可
sorted函数可以对集合进行排序

import random
# 接收用户输入
N = int(input('N:'))
# 定义空集合;用集合便可以实现自动去重(集合里面的元素是不可重复的)
gather = set([])
# 生成N个1~1000之间的随机整数
for i in range(N):
    num = random.randint(1,1000)
    # add:添加元素
    gather.add(num)

print(gather)
# sorted: 集合的排序
print(sorted(gather))

代码运行结果:

N:10
{992, 2, 772, 134, 936, 670, 365, 560, 758, 926}
[2, 134, 365, 560, 670, 758, 772, 926, 936, 992]

二、编程语言榜单

IEEE和TIOBE是两大热门编程语言排行榜。截至2023年6月,IEEE榜排名前五的语言是:Python,Java,C++,C,JavaScript。TIOBE榜排名前五的语言分别是:Python,C,C++,Java,C#。请编程:
1、上榜的所有语言
2、两个榜单中同时出现的语言
3、只在IEEE榜中前五的语言
4、只在一个榜中出现的语言

TIOBE = {"Python", "Java", "C++","C","JavaScript"}
IEEE = { "Python" , "C","C++", "Java","C#"}
print(TIOBE | IEEE)#并集
print(TIOBE & IEEE)#交集
print(IEEE - TIOBE)#差集
print(TIOBE ^ IEEE)#对称差集

代码运行结果:

{'C', 'Python', 'Java', 'JavaScript', 'C#', 'C++'}
{'C', 'Python', 'C++', 'Java'}
{'C#'}
{'JavaScript', 'C#'}

你可能感兴趣的:(计算机等级二级Python,python,算法,开发语言,人工智能,全国计算机等级考试)