📅  最后修改于: 2023-12-03 15:39:56.294000             🧑  作者: Mango
UGC-NET(研究生资格考试-国家资格测试)是由印度政府主办的考试,旨在选拔出具备良好学术背景和研究潜能的研究生。其中,UGC-NET CS考试是为计算机科学领域的学生而设的考试。这里的问题57在2017年11月的第三轮考试中出现,考核了考生的编程水平。
问题57要求考生编写一个程序,在输入两个整数n和m后,运行一个生成器函数,生成一组由m个元素组成的集合,集合元素是1到n之间的随机整数。注意,集合中的元素不能重复。
代码实现如下所示:
import random
def generate_set(n, m):
data_set = set()
while len(data_set) < m:
data_set.add(random.randint(1, n))
return data_set
n = int(input("输入一个整数n:"))
m = int(input("输入一个整数m:"))
data_set = generate_set(n, m)
print("随机生成的集合为:")
print(data_set)
这段代码首先通过import关键字导入random库,该库中包含了生成随机数的方法。接着定义了一个生成器函数generate_set,该函数使用while循环和add()方法向空集合中添加随机整数,直到集合中元素的数量等于m时退出循环,返回生成的集合。最后,通过input()方法获取用户输入的n和m,调用generate_set函数生成一个随机集合,并打印出来。
该程序可以通过加入用户输入校验和异常处理的方式进行改进,例如在输入n和m时检查用户输入的是否为整数,若不是则提示重新输入;在generate_set函数中加入try-except语句来处理数据类型不匹配等异常情况。另外,该程序可以扩展到生成不重复的随机元素列表或者随机元素字符串。