问题描述:产生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();

最新文章

  1. SecureCRT在远程主机和本地之间传输文件
  2. js问题
  3. jQuery学习-什么是jquery? Js与jquery之间的关系 Jquery选择器
  4. Read N Characters Given Read4 I &amp; II
  5. FFMpeg ver 20160213-git-588e2e3 滤镜中英文对照
  6. 高级Javascript调试——console.table()
  7. mac下删除svn账号
  8. 微软企业库5.0学习-Security.Cryptography模块
  9. php throw new Excpetion()之后,程序还往下继续运行吗?
  10. R语言语法笔记
  11. mysqll 数据库相互堵塞问题
  12. CSS定位深入理解 完全掌握CSS定位 相对定位和绝对定位
  13. iOS多线程的初步研究
  14. 深入浅出TCP/IP协议栈
  15. netty4.x 传输文件
  16. 川普和习G-20会面为缓和中美贸易战提供了很大的机会
  17. 使用Github Pages和Hexo构建个人博客
  18. mysql 第二高薪水
  19. java.lang.OutOfMemoryError:GC overhead limit exceeded
  20. 牛客第二场 J farm

热门文章

  1. 面试问题(HTML和CSS方面)
  2. nginx日志配置,以及日志轮询
  3. msm8909+android5.1分区及烧录的镜像文件介绍【转】
  4. 汇编语言入门(在debug中编辑和调试程序)
  5. 【转】如何在html与delphi间交互代码
  6. Entity Framework 学习笔记(二)之数据模型 Model 使用过程
  7. 韩顺平Linux
  8. PHP消息队列用法实例分析
  9. Session 和cookie机制详解
  10. jsp 自定义标签中的Function函数