设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【每日一坑 1】 随机取数

  [复制链接]

0

主题

0

好友

389

积分

中级会员

Rank: 3Rank: 3

地板
发表于 2013-12-12 23:55:39 |只看该作者

回帖奖励 +5

randomList.py
  1. #! /usr/bin/env python

  2. import sys
  3. import random

  4. if __name__ == "__main__":
  5.     if len(sys.argv) != 3:
  6.         print 'Error! please print like this : ./randomList.py 5 3'
  7.     else:
  8.         n = int(sys.argv[1])
  9.         m = int(sys.argv[2])
  10.         #print n,m
  11.         if m > n:
  12.             print 'Input error,the first number must large than or equal to the second number'
  13.         else:
  14.             originList = range(1,n+1)
  15.             randomList = []
  16.             for i in range(m):
  17.                 x = random.randint(1,len(originList))      
  18.                 randomList.append(originList[x - 1])
  19.                 originList.remove(originList[x - 1])
  20.             else:
  21.                 randomList.sort()
  22.                 print randomList
复制代码
回复

使用道具 举报

0

主题

0

好友

9

积分

新手上路

Rank: 1

板凳
发表于 2013-12-12 23:27:25 |只看该作者
本帖最后由 judy 于 2013-12-12 23:29 编辑


import random
def tool():
    m=input("需要几个数:")
    n=input("最大值:")
    if 1 <= int(m) <= int(n):
        for i in range(m):
            num=random.randint(1,n)
            print num
    else:
        print"请确认最大值超过所需数字个数"
tool()
   
   
回复

使用道具 举报

7

主题

1

好友

269

积分

中级会员

Rank: 3Rank: 3

沙发
发表于 2013-12-12 20:36:58 |只看该作者

回帖奖励 +5

  1. #!/usr/bin/python
  2. #coding:utf-8
  3. #author:byron
  4. #blog:http://jiabin.tk

  5. import random
  6. def m_n():
  7.         print("本程序会从1~n中随机取m个数,1<=m<=n")
  8.         n = int(input("输入n的值:"))
  9.         m = int(input("输入m的值:"))
  10.         random_num = set()
  11.         if 1 <= m <= n:
  12.                 while len(random_num) != m:
  13.                         random_num.add(random.randint(1,n))
  14.                 print(random_num)
  15.         else:
  16.                 print("="*40)
  17.                 print('请确认1<=m<=n')
  18.                 print('='*40)
  19.                 m_n()
  20. m_n()
复制代码
回复

使用道具 举报

0

主题

0

好友

24

积分

新手上路

Rank: 1

楼主
发表于 2013-12-12 19:46:16 |只看该作者

回帖奖励 +5

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # Copyright 2013 nodejx

  4. import random
  5. #从1-n中取m个数字。
  6. def choice(n,m):
  7.         if 1 <= int(m) <= int(n):
  8.                 return sorted(random.sample([i for i in xrange(1,int(n)+1)], int(m)))
  9.         else:
  10.                 return "请确认 '1<=m<=n'!"
  11. #从1-1000随机取99个数字。
  12. print choice(1000,99)
复制代码
回复

使用道具 举报

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

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

GMT+8, 2024-5-19 01:27 , Processed in 0.026340 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部