生态学实验被拉到荒地去认植物(笑),最后要画一个将样方打乱,随机抽取然后统计样方面积与物种总数的关系(理论上是符合一个幂函数的关系)。然后突发奇想快速码出:

import xlrd
import xlwt
import random
from xlutils.copy import copydef write_bank(text):bank = []all_sentence = text.split("\n",-1)for sentence in all_sentence:line = sentence.split(",",-1)#print(line)bank.append(line)return bankdef single_random_sort(bank):out_list = {}delete_group = []bank_0 = bank.copy()cycle_number = 0for j in range(len(bank)):random.shuffle(bank_0)group_element = bank_0[0]cycle_count = 0for i in group_element:if i in delete_group:continueelse:cycle_count += 1cycle_number += cycle_countout_list[j+1] = cycle_number#print(j)bank_0.remove(group_element)delete_group += group_elementreturn out_listdef write_out(out_list,number,bank,table):for i in range(len(bank)):#table.write(i,3*number,i+1)table.write(number,i,out_list[i+1])def main():with open("1.txt","r",encoding='UTF-8') as file_object:text = file_object.read()cishu = int(input("输入模拟次数:"))bank = write_bank(text)oldbook = xlrd.open_workbook(filename="1.xls")newbook = copy(oldbook)table = newbook.get_sheet(0)for cycle in range(cishu):out_list = single_random_sort(bank)print(out_list)write_out(out_list,cycle,bank,table)print("done cycle",cycle+1)newbook.save('2.xls')main()
print("All Done")

样本是这样(命名为了1.txt,每一行代表一个样方):

一年蓬,多苞斑种草,小苦荬,艾蒿,中华草沙蚕,高羊茅
一年蓬,小苦荬,艾蒿,高羊茅,北美独行菜,黄花婆罗参
一年蓬,小苦荬,艾蒿,高羊茅,黄花婆罗参,山莴苣,小酸模,泥胡菜,菊苣,米口袋,假还阳参
一年蓬,北美独行菜,泥胡菜,野老鹤草,朝天委陵菜,荻,附地菜
一年蓬,小苦荬,高羊茅,皱叶酸模
一年蓬,小苦荬,高羊茅,山莴苣,假还阳参,紫苜蓿
小苦荬,艾蒿,高羊茅,泥胡菜
小苦荬,艾蒿,高羊茅,泥胡菜
一年蓬,白茅,小苦荬,泥胡菜
艾蒿,高羊茅,山莴苣,紫苜蓿
小苦荬,山莴苣,高羊茅,泥胡菜,菊苣
小苦荬,高羊茅,山莴苣,中华草沙蚕
小苦荬,泥胡菜,一年蓬,中华草沙蚕,北美独行菜
一年蓬,多苞斑种草,小苦荬,艾蒿,中华草沙蚕,高羊茅,白车轴草
一年蓬,小苦荬,高羊茅,中华草沙蚕,山莴苣,小酸模,北美独行菜,假还阳参
小苦荬,艾蒿,高羊茅,中华草沙蚕,米口袋,小酸模,皱叶酸模,假还阳参
假还阳参,一年蓬,高羊茅,丝路蓟,小苦荬,中华草沙蚕,紫花地丁,山莴苣
白茅,高羊茅,中华草沙蚕,小苦荬,假还阳参,一年蓬
高羊茅,北美独行菜,附地菜,泥胡菜,小苦荬,中华草沙蚕
山莴苣,高羊茅,小苦荬,中华草沙蚕,附地菜,北美独行菜,一年蓬
一年蓬,白茅,高羊茅,假还阳参,中华草沙蚕,多苞斑种草,小苦荬
艾蒿,高羊茅,北美独行菜,假还阳参,小苦荬,一年蓬,中华草沙蚕
一年蓬,中华草沙蚕,高羊茅,假还阳参
女娄菜,多苞斑种草,艾蒿,小苦荬,假还阳参,高羊茅
小苦荬,多苞斑种草,月见草,泥胡菜,中华草沙蚕,高羊茅

程序最后输出的是每一次迭代下每个面积对应的物种数,所以还得你自己在Excel里面平均一下(懒得吧平均写到码里了)。最后图还挺漂亮的(稍微变换成了对数的).

生态学种-面积曲线模拟抽样程序相关推荐

  1. 量子计算机模拟其他系统,一种量子计算机的模拟控制方法、系统及相关组件技术方案...

    [技术实现步骤摘要] 一种量子计算机的模拟控制方法.系统及相关组件 本专利技术涉及量子计算机控制领域,特别涉及一种量子计算机的模拟控制方法.系统及相关组件. 技术介绍 近年来,随着量子计算技术发展迅速 ...

  2. GPIO模拟I2C程序实现

    GPIO模拟I2C程序实现. I2C是由Philips公司发明的一种串行数据通信协议,仅使用两根信号线:SerialClock(简称SCL)和SerialData(简称SDA).I2C是总线结构,1个 ...

  3. 单片机IO口模拟串口程序(发送+接收

    单片机IO口模拟串口程序(发送+接收)[转] qcmc 发表于 - 2011-6-23 0:42:00 前一阵一直在做单片机的程序,由于串口不够,需要用IO口来模拟出一个串口.经过若干曲折并参考了一些 ...

  4. 计算机模拟软件分类,计算机水平考试-软件设计师分类模拟题程序语言(一)

    计算机水平考试-软件设计师分类模拟题程序语言(一) (13页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 软件设计师分类模拟题程序语言(- ...

  5. win7 下载android源代码_适用于Android的30种最佳免费黑客应用程序和工具

    在本文中,我们将列出前30个Android黑客工具,以帮助完成网络和渗透测试任务. 适用于Android的30种最佳免费黑客应用程序和工具 NMap for Andr oid(NetworkMappe ...

  6. 51单片机模拟I2C程序

    IIC即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦公司研发出来的.是一种两线式串行总线,两条线可以挂多个参与通信的器件,即多机模式.一般由控制器作为主机. ...

  7. 不会三种编程语言的不算程序员 走近阿里云 MVP烁淼吐槽大佬

    简介: 为将阿里云 MVP打造成为技术顶尖人群的社群,建立成员之间连接,促进相互交流和业务影响,迸发各行各业技术人的无限价值.2020年2月初,运营团队与阿里云MVP们共同推出"走近阿里云M ...

  8. Java黑皮书课后题第8章:*8.32(几何:三角形面积)编写一个方法,使用下面的方法头,返回一个三角形的面积。编写一个程序,提示用户输入三角形的三个点,然后显示三角形的面积

    *8.32(几何:三角形面积)编写一个方法,使用下面的方法头,返回一个三角形的面积.编写一个程序,提示用户输入三角形的三个点,然后显示三角形的面积 题目 题目描述与运行示例 破题 代码 题目 题目描述 ...

  9. 几种常见窗函数及其matlab程序实现,几种常见窗函数及其MATLAB程序实现(20200911110057).pdf...

    . 几种常见窗函数及其 MATLAB程序实现 2013-12-16 13:58 2296 人阅读 评论 (0) 收藏 举报 分类: Matlab (15) 数字信号处理中通常是取其有限的时间片段进行分 ...

最新文章

  1. C++拾趣——有趣的操作符重载
  2. backbone学习总结(二)
  3. 【机器学习】--模型评估指标之混淆矩阵,ROC曲线和AUC面积
  4. 华为鸿蒙系统推出的背景美国,鸿蒙系统+麒麟芯片,流畅度相当ios,手机性能不输苹果芯片...
  5. Linux服务器集群系统(二)——LVS集群的体系结构
  6. 针对WEB前端新人的前端知识体系
  7. hdu 5411 CRB and Puzzle 矩阵高速幂
  8. python多人在线游戏_python实现人接球的小游戏
  9. 【转】mybatis在xml文件中处理大于号小于号的方法
  10. java list 泛型 转换_Java中List与数组互相转换
  11. 如何在数据库中查找和消除重复的数据?
  12. Unicode 编码表下载
  13. 华为系统固件服务器,华为手机固件
  14. 十行Python代码替换证件照背景颜色
  15. Android开发详解之App升级程序一点通
  16. 摄影构图的基本要领!
  17. Android项目打包生成apk文件
  18. AD6交互式布线,智能布线快捷键的介绍
  19. 【Python】根据地名获取经纬度
  20. 基因数据处理114之BWA建立全基因组索引成功

热门文章

  1. Go使用Gin+mysql实现增删改查
  2. Java中实现文件下载通用方式
  3. Spring中连接WebSocket报403错误
  4. 电子数据取证第二章读书笔记
  5. java魔之信条侍女的阴谋_《龙之信条:黑暗觉醒》部分重要分支玩法提示
  6. python多态和封装
  7. HTML5和CSS3新特性一览
  8. logout命令 – 退出系统
  9. 图像isp 详解_首创ISP+NPU融合架构,详解华为摄影在算法以及硬件方面的创新
  10. php注释的作用是什么?