使用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行,每行包含一个测试数据. 输出 ...
随机推荐
- [原创]java WEB学习笔记15:域对象的属性操作(pageContext,request,session,application) 及 请求的重定向和转发
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Understanding Linux File Permissions
Although there are already a lot of good security features built into Linux-based systems, one very ...
- day 5 模块导入、常用模块os shutil sys commands subprocess hashlib json pickle zipfile traceback random datetime
os: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os. ...
- python Tkinter之Button
Button小部件是一个标准的Tkinter的部件,用于实现各种按钮.按钮可以包含文本或图像,您可以调用Python函数或方法用于每个按钮. Tkinter的按钮被按下时,会自动调用该函数或方法. 该 ...
- python第六篇:Python复制超大文件、复制二进制文件
Python文件复制 # 写程序实现复制文件的功能 # 要求: # 1. 源文件路径和目标文件路径需要手动输入 # 2. 要考虑文件关闭的问题 # 3. 要考虑复制超大文件的问题 # 4. 要能复制二 ...
- 学习c++的优秀博客(转)
http://zhedahht.blog.163.com/ 本博客讨论程序员面试题,并主要集中在C/C++.数据结构算法和算法上.http://saturnman.blog.163.com/ sat ...
- JavaScript中,让一个div在固定的父div中任意拖动
1.css代码 #big { border: 1px solid #FF3300; width: 300px; height: 300px; position: relative; } #small ...
- Javascript-- jQuery DOM篇(一)
DOM创建节点及节点属性 通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作.但实际上一般开发者都习惯性的先定义好HTML结构,但这样就非常不灵活了. 浏览器提供的一些原生 ...
- BEC listen and translation exercise 43
Reach for the stars so if you fall you land on a cloud.飞向星空吧,就算坠落,接住你的也是云彩. Anyway, exam failure can ...
- JavaWEB - JSP及隐含对象
---------------------------------------------------------------------------------------------------- ...