使用python已知平均数求随机数
问题描述:产生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已知平均数求随机数的更多相关文章
- 已知 $AB$, 求 $BA$
设 $A,B$ 分别是 $3\times 2$ 和 $2\times 3$ 实矩阵. 若 $\dps{AB=\sex{\ba{ccc} 8&0&-4\\ -\frac{3}{2}& ...
- C语言初学 给已知公式求圆周率
公式: 圆周率=1-1/3+1/5-1/7+......+1/(4n-3)-1/(4n-1) #include<stdio.h> #include<math.h> main() ...
- Codeforce 459A - Pashmak and Garden (已知两点求另外两点构成正方形)
Pashmak has fallen in love with an attractive girl called Parmida since one year ago... Today, Pashm ...
- python应用-已知三角形的边长求他的面积和周长
""" 已知三角形的边长求他的面积和周长 Author:罗万财 Date:2017-3-3 """ import math a=float( ...
- JAVA-集合作业-已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。采用List集合和随机数
第二题 已知有十六支男子足球队参加2008 北京奥运会.写一个程序,把这16 支球队随机分为4 个组.采用List集合和随机数 2008 北京奥运会男足参赛国家: 科特迪瓦,阿根廷,澳大利亚,塞尔维亚 ...
- 已知树的前序、中序,求后序的java实现&已知树的后序、中序,求前序的java实现
public class Order { int findPosInInOrder(String str,String in,int position){ char c = str.charAt(po ...
- [YY]已知逆序列求原序列(二分,树状数组)
在看组合数学,看到逆序列这个概念.于是YY了一道题:已知逆序列,求出原序列. 例子: 元素个数 n = 8 逆序列 a={5,3,4,0,2,1,1,0} 则有原序列 p={4,8,6,2,5,1,3 ...
- 已知ip地址和其子网掩码如何求网络号子网号主机号
已知ip地址为10.130.89.95,其子网掩码为255.255.255.224,求其网络号.子网号和主机号. 要看子网掩码变长在第几节,255.255.255.224是在第四节借了位 把224转换 ...
- 已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。
描述 已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数. 输入 第一行为M,表示测试数据组数.接下来M行,每行包含一个测试数据. 输出 ...
随机推荐
- 解决COMODO Internet Security更新慢或失败的问题
方法一: COMODO 默认更新服务器只有一个:http://download.comodo.com/ 我电信网络更新速度非常慢: 实在没有办法了,找到了几个更新服务器: http://eu1.dow ...
- Smarty 的安装
1.下载Smarty包可以从官方站点下载:http://smarty.php.net/ 2.解压缩Smarty包解压后的文件夹重命名为Smarty,放置在C:\Apache2\include下 3.修 ...
- 红米note.线刷
1.第一代 红米note 时间:20180121 这次 线刷之后,摄像头还是模糊,扫描小一点的二维码的时候 还是一片模模糊糊... 2.ZC:我下载的“通用刷机工具”名为:MiFlash2017-12 ...
- 韩顺平Linux
shutdown -h now 立刻进行关机 shutdown -r now 立即重启 reboot同上. 用户登录尽量少用root账号登录,因为它是系统管理员,最大的管理权限,避免操作失误. 可以利 ...
- Web Worker浅学
Web Workers 是 HTML5 提供的一个javascript多线程解决方案,我们可以将一些大计算量的代码交由web Worker运行而不冻结用户界面.它独立于其他脚本,不会影响页面的性能.您 ...
- Selenium-键盘操作
在webdriver的Keys类中提供了键盘所有的按键操作,当然也包括一些常见的组合操作如Ctrl+A全选),Ctrl+C(复制),Ctrl+V(粘贴).更多参考官方文档对应的编码http://sel ...
- Python基础-列表推导式
python中列表推导式有三种数据类型可用:列表,字典,集合 列表推导式书写形式: [表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件] 1,列表推导式 ...
- message消息框
.messager.show options 在屏幕右下角显示一条消息窗口.该选项参数是一个可配置的对象:showType:定义将如何显示该消息.可用值有:null,slide,fade,show.默 ...
- Dedecms丨显示指定的导航栏
代码实例: {dede:channelartlist type='top' typeid='9,12,10' row='3' orderby='sortrank'}<li><a hr ...
- 关于com组件中idl文件的理解
IDL文件: IDL文件主要定义两大类内容:一是定义接口:二是定义类型库. 定义接口的关键字是interface.每个接口定义前面方括号里面的内容是该接口的属性,最重要的是uuid的定义.该部分经过M ...