问题描述:产生40个数,范围是363-429之间,平均值为402

思路:

1 产生一个随机数

2 使用平均数减去随机数求出第二个数,生成20组

3 将排序打乱

# -*- coding: cp936 -*-
import random
import string ###################产生随机整数###################
###################第一个数随机产生,第二个使用平均数求出###################
#count 数字的个数
#average 平均数
#begin 起始区间
#end 结束区间
def int_random (count, average, begin, end): #print "wzh_random"
numarr = [0 for x in range(2)];
i = 0;
while (1): num_first = random.randrange(begin, end); #第二个数
num_second = average * 2 - num_first; if (num_second >= begin and num_second <= end):
numarr[i] = num_first;
i = i + 1;
numarr[i] = num_second;
break return numarr; ###################产生随机数###################
###################第一个数随机产生,第二个使用平均数求出###################
#count 数字的个数
#average 平均数
#begin 起始区间
#end 结束区间
def float_random (count, average, begin, end): #print "wzh_random"
numarr = [0 for x in range(2)];
i = 0;
while (1): num = random.uniform(begin, end);
#取两位小数
num_first = round(num, 2); #第二个数
num_second = average * 2 - num_first; if (num_second >= begin and num_second <= end):
numarr[i] = num_first;
i = i + 1;
numarr[i] = num_second;
break return numarr; ###################写文件###################
def write_file (filename, content):
fo = open (filename, "ab");
fo.write(content);
fo.close(); def show_list (list):
for i in list:
print i,
print; ###################主函数调用产生整形随机数###################
#40个数字,平均数400,363 - 429 之间
def test_random_int():
count = 40;
average = 402;
begin = 363;
end = 429;
numarr_count = 0;
numarr = [0 for x in range(count)];
for i in range (count / 2):
list = int_random (40, 402, 363, 429)
j = 0;
for j in range (len(list)):
numarr[numarr_count] = list[j];
numarr_count += 1;
content = '';
#打乱排序
print "数据未打乱:";
show_list (numarr)
random.shuffle(numarr);
print "数据打乱:";
show_list (numarr)
for i in numarr:
content = content + ' ' + str(i);
#print content;
#追加写入文件
filename = "test.txt";
print "文件名称:",filename;
write_file (filename, content)
write_file (filename, "\n"); ###################主函数调用产生实型随机数###################
#40个数字,平均数400,363 - 429 之间
def test_random_float():
count = 40;
average = 402;
begin = 363;
end = 429;
numarr_count = 0;
numarr = [0 for x in range(count)];
for i in range (count / 2):
list = float_random (40, 402, 363, 429)
j = 0;
for j in range (len(list)):
numarr[numarr_count] = list[j];
numarr_count += 1;
content = '';
#打乱排序
print "数据未打乱:";
show_list (numarr)
random.shuffle(numarr);
print "数据打乱:";
show_list (numarr)
for i in numarr:
content = content + ' ' + str(i);
#print content;
#追加写入文件
filename = "test.txt";
print "文件名称:",filename;
write_file (filename, content)
write_file (filename, "\n"); #调用测试产生整形随机数
test_random_int();
#调用测试产生实型随机数
test_random_float();

使用python已知平均数求随机数的更多相关文章

  1. 已知 $AB$, 求 $BA$

    设 $A,B$ 分别是 $3\times 2$ 和 $2\times 3$ 实矩阵. 若 $\dps{AB=\sex{\ba{ccc}  8&0&-4\\  -\frac{3}{2}& ...

  2. C语言初学 给已知公式求圆周率

    公式: 圆周率=1-1/3+1/5-1/7+......+1/(4n-3)-1/(4n-1) #include<stdio.h> #include<math.h> main() ...

  3. Codeforce 459A - Pashmak and Garden (已知两点求另外两点构成正方形)

    Pashmak has fallen in love with an attractive girl called Parmida since one year ago... Today, Pashm ...

  4. python应用-已知三角形的边长求他的面积和周长

    """ 已知三角形的边长求他的面积和周长 Author:罗万财 Date:2017-3-3 """ import math a=float( ...

  5. JAVA-集合作业-已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。采用List集合和随机数

    第二题 已知有十六支男子足球队参加2008 北京奥运会.写一个程序,把这16 支球队随机分为4 个组.采用List集合和随机数 2008 北京奥运会男足参赛国家: 科特迪瓦,阿根廷,澳大利亚,塞尔维亚 ...

  6. 已知树的前序、中序,求后序的java实现&已知树的后序、中序,求前序的java实现

    public class Order { int findPosInInOrder(String str,String in,int position){ char c = str.charAt(po ...

  7. [YY]已知逆序列求原序列(二分,树状数组)

    在看组合数学,看到逆序列这个概念.于是YY了一道题:已知逆序列,求出原序列. 例子: 元素个数 n = 8 逆序列 a={5,3,4,0,2,1,1,0} 则有原序列 p={4,8,6,2,5,1,3 ...

  8. 已知ip地址和其子网掩码如何求网络号子网号主机号

    已知ip地址为10.130.89.95,其子网掩码为255.255.255.224,求其网络号.子网号和主机号. 要看子网掩码变长在第几节,255.255.255.224是在第四节借了位 把224转换 ...

  9. 已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。

    描述 已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数.   输入 第一行为M,表示测试数据组数.接下来M行,每行包含一个测试数据. 输出 ...

随机推荐

  1. INT(M)表示什么意思?

    根据官方文档描述,int(M)中的M表示数据显示的宽度,与实际存储的长度无关. 1.也就是int(3)和int(11)能够存储的数据是一样的,都是从-2147483648到2147483647(或者0 ...

  2. Android关闭USB的ADB调试和文件传输功能(禁用USB)【转】

    本文转载自:https://blog.csdn.net/jun4331247/article/details/51201825 通过设置系统属性(System Property)[persist.sy ...

  3. Logstash的插件

    Logstash的插件: input插件: File:从指定的文件中读取事件流: 使用FileWatch(Ruby Gem库)监听文件的变化. .sincedb:记录了每个被监听的文件的inode, ...

  4. Sobel边缘检测

    Sobel算子:[-1  0  1 -2  0  2 -1  0  1] 用此算子与原图像做卷积,可以检测出垂直方向的边缘.算子作用在图像的第二列,结果是:200,200,200:作用在第三列,结果是 ...

  5. priority_queue用法(转载)

    关于priority_queue 1,关于STL中的priority_queue:确定用top()查看顶部元素时,该元素是具有最高优先级的一个元素. 调用pop()删除之后,将促使下一个元素进入该位置 ...

  6. 数据结构C语言版干货------->线性表之顺序表

    一:头文件定义 /*************************************************************************** *项目 数据结构 *概要 逻辑 ...

  7. php函数decbin

    decbin()将十进制转换为二进制.必须有一个十进制参数.

  8. Redis-benchmark使用总结

    Redis-benchmark为Redis性能测试工具. 指令说明: Usage: redis-benchmark [-h <host>] [-p <port>] [-c &l ...

  9. 6 Python 数据类型—字符串

    字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可. var1 = 'Hello World!' var2 = ...

  10. java_面试_01_一个月的面试总结(java)

    重点知识 由于我面试的JAVA开发工程师,针对于JAVA,需要理解的重点内容有: JVM内存管理机制和垃圾回收机制(基本每次面试都会问,一定要搞得透彻) JVM内存调优(了解是怎么回事,一般做项目过程 ...