python开发--random

转载自:http://www.cnblogs.com/hongten/p/hongten_python_random.html

和java中的random()函数一样,在python中也有类似的模块random,即随机数

下面是我做的demo

运行效果:

==========================================

代码部分:

==========================================

#python random

import random

def get_random():
    '''get a random number.
    return Random float x, 0.0 <= x < 1.0'''
    return random.random()

def get_uniform(a, b):
    '''Return a random floating point number N such that
    a <= N <= b for a <= b and b <= N <= a for b < a.
    The end-point value b may or may not be included in the
    range depending on floating-point rounding in the
    equation a + (b-a) * random().
    '''
    return random.uniform(a, b)

def get_randrange(n):
    '''return an Integer from 0 to n
    and the number n must be greater than 0
    or n > 0
    '''
    return random.randrange(n)

def get_randrange_ex(start, stop, step):
    '''返回一个从start开始到stop结束,步长为step的随机数'''
    return random.randrange(start, stop, step)

def choice(s):
    '''从一个字符串中随机获取一个字符串,传入的参数s是不能为空或者不能为None'''
    if s != '' and s != None:
        return random.choice(s)
    else:
        print('the param is empty or equals None!')

def shuffle(items):
    '''对一个序列进行洗牌的操作'''
    random.shuffle(items)
    return items

def sample(items, n):
    '''从一个序列中随机抽出n个数,当然,在这n个数中,可能出现有重复的数'''
    return random.sample(items, n)

def main():
    r = get_random()
    print('获取一个0.0-1.0之间的随机数:{}'.format(r))
    r = get_uniform(2, 100)
    print('获取一个2.0-100.0之间的随机数:{}'.format(r))
    r = get_randrange(100)
    print('获取一个0-100之间的随机数:{}'.format(r))
    r = get_randrange_ex(3, 100, 25)
    print('获取一个3-100之间的随机数:{}'.format(r))
    tem_str = 'this is a test message!'
    r = choice(tem_str)
    print('从[{}]中随机取出一个字符:{}'.format(tem_str, r))
    tem_items = [1, 2, 3, 4, 5, 6, 7]
    tem_r = tem_items[:]
    shuffle(tem_items)
    print('对序列{}进行洗牌操作:{}'.format(tem_r, tem_items))

    tem_list = sample(tem_r, 3)
    print('从{}中随机抽出3个数:{}'.format(tem_r, tem_list))

if __name__ == '__main__':
    main()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值