下面代码主要实现的作用有:
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)