python实现按照给定范围随机生成小数,偶数,奇数,整数,正态分布,均匀分布数据以及图片

下面代码主要实现的作用有:

1、随机生成介于范围之间的小数

2、随机生成介于范围之间的整数

3、随机生成介于范围之间的奇数或者偶数

4、随机生成介于范围之间正态分布随机数以及生成图片

5、随机生成生成介于范围之间均匀分布随机数以及生成图片

大家看看,如果有需要的继续看看,没有需要省的看完浪费时间,哈哈哈哈哈

各位小主,在下献上代码:

import random
import numpy
import matplotlib.pyplot as plt
import seaborn as sns


#1、随机生成小数
def CreateDecimal(start,end):
    '''
    :param start: 要处理数值的起始值
    :param end: 要处理数值的结尾值
    :return: 返回介于start和end之间的小数
    '''
    if end > start:
        number = random.uniform(start,end)
        print('获取start-end之间的小数')
        return number
    return '请输入符合end > start的数字'



#2、随机生成整数
def CreateInt(start,end):
    '''
    :param start:要处理数值的起始值
    :param end:要处理数值的结尾值
    :return:返回介于start和end之间的整数
    '''
    num_int = random.randint(start,end)
    print('获取start-end之间的整数')
    return num_int



#3、随机生成奇数或者偶数
def CreateEvenNum(start,end):
    '''
    :param start: 要处理数值的起始值
    :param end: 要处理数值的结尾值
    :return:  返回介于start和end之间的偶数
    '''
    uneven_num = random.randrange(start, end, 2)
    if start % 2 == 1:
        print('获取start-end之间的奇数')
    else:
        print('获取start-end之间的偶数')
    return uneven_num



#4、随机生成正态分布随机数
def CreateNormalDistribution(mu,sigma,num):
    '''
    :param mu: 期望
    :param sigma: 标准差
    :param num: 多少个
    :return: 生成正态分布随机数,并生成图片
    '''
    normal = numpy.random.normal(mu,sigma,num)
    sns.set_palette("hls")
    sns.distplot(normal, color="r", bins=1000, kde=True)
    plt.show()
    print('已生成折线图片')
    return normal



#5、随机生成均匀分布随机数
def CreateUniformDistribution(d1,dn):
    '''
    :param d1:维度
    :param dn:维度
    :return:产生d1行dn列均匀分布随机数组,并生成图片
    '''
    uniform = numpy.random.rand(d1, dn)
    sns.set_palette("hls")
    sns.distplot(uniform, color="r", bins=1000, kde=True)
    plt.show()
    print('已生成折线图片')
    return uniform


#6、主函数:作用为随机数的生成筛选
def Main(num_type,num_begin,num_stop,*keywords):
    '''
    :param num_type: 返回数值类型
    :param num_begin:  数值起始点,起始维度
    :param num_stop: 数值结束点,结束维度
    :param keywords: 其他参数
    :return: 输出想要的范围的随机数
    '''
    if num_type == 'Int':
        num_int = CreateInt(num_begin, num_stop)
        print(num_int)
    elif num_type == 'Float':
        num_dec = CreateDecimal(num_begin, num_stop)
        print(num_dec)
    elif num_type == 'EvenNum':
        num_even = CreateEvenNum(num_begin, num_stop)
        print(num_even)
    elif num_type == 'NormalDistributio':
        num_nor = CreateNormalDistribution(num_begin, num_stop, *keywords)
        print(num_nor)
    elif num_type == 'UniformDistribution':
        num_uni = CreateUniformDistribution(num_begin, num_stop)
        print(num_uni)
    else:
        print('请正确的对应类型')






if __name__ == '__main__':
    type = input('请输入对应类型:整数--Int,小数--Float,奇数&偶数--EvenNum,正态分布随机数--NormalDistributio,均匀分布随机数--UniformDistribution')
    begin = int(input('请输入起始值or正态分布的期望值or均匀分布的纬度'))
    stop = int(input('请输入结束值or正态分布的标准差or均匀分布的纬度'))

    if type == 'NormalDistributio':
        other = int(input('请输入正态分布的个数'))
        Main(type,begin,stop,other)
    else:
        Main(type, begin, stop)







 

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值