设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 4794|回复: 0
打印 上一主题 下一主题

每日一坑 1

[复制链接]

2

主题

0

好友

12

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2018-1-25 18:12:34 |只看该作者 |倒序浏览
###从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))



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-21 23:42 , Processed in 0.023449 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部