Crossin的编程教室
标题:
每日一坑 1
[打印本页]
作者:
cccc3126
时间:
2018-1-25 18:12
标题:
每日一坑 1
###从1~n中,随机取m个数。1<=m<=n
##import random #载入随机(random)模块,要用随机取数,需载入随机函数模块
##n = input("输入你想要的数列最大数:")
##m = input("你想要取出几个数字?:") #input是默认输出str类型的
##success = False
##while success == False:
## if(n.isdigit() and m.isdigit()) == True: #判断输入的是否可以int(即判断是否输入了整数)
## n = int(n) #对输入进行type转换
## m = int(m)
## success = True #跳出此循环
## else: #否则重新输入
## print("对不起,你的输入不合法")
## n = input("输入你想要的数列最大数:")
## m = input("你想要取出几个数字?:")
##if m > n or m < 1: #判断输入的是否符合规则
## print("对不起,你的输入不合法")
##else:
## nlist = list(range(1,n+1)) #建立从1到n的列表
## i = 1
## 结果 = [] #建立一个空列表
## while i <= m: #与下面的i+=1 表示进行m次循环运算
## n1 = random.randint(0,n-1) #随机取出一个0到n-1的数字
## 结果 = 结果 + [nlist[n1]] #取出nlist(1到n)的下标为n1(随机数)的一个数值并把它加入到结果列表中
## i += 1
## del nlist[n1] #删除nlist的下标为n1的这个数字以排除重复取出此数字
## n = n-1 #使随机取的列表下标数不溢出
## 结果.sort() #.sort()可以对列表进行升序操作使取出的数整齐排列
## print(结果) #打印的是列表结果,即[]形式,也可以通过for .. in ..操作取出数值类型
## #for j in 结果: #打印较多结果时for循环明显拖慢程序速度,列表是直接打印,但for循环遍历
## ###输出在大数值时速度明显减慢
## #print (j,end=' ') #end=可以把1项一行的打印结果横向排列
##答案 random.sample:从一个序列中随机取出一些元素
print(random.sample(range(1, n), m))
欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/)
Powered by Discuz! X2.5