python随机生成奇数_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)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值