2021-04-01 COMP9021第十二节课笔记

本文介绍了使用numpy库实现生命游戏的步骤,包括创建二维网格、数组算术运算和逻辑运算。重点讲解了numpy.reshape()、numpy.zeros()以及numpy.logical_and()在处理数组边界和逻辑条件时的应用。同时,文章通过实例展示了数组加边框避免越界、数组运算的灵活性以及逻辑运算在数组中的应用。
摘要由CSDN通过智能技术生成

The Game of Life

太懒了我,直接从PDF里截图了。。。
在这里插入图片描述

  1. 先创建二维网格
    在这里插入图片描述
    下面这样写可以省一行。。
    在这里插入图片描述
    接着省,两个for循环直接合成一句话,厉害。。
    在这里插入图片描述
  2. 统计附近的点,附近点的个数等于3就为1,另外,如果等于2且本省为1也记录为1.
    在这里插入图片描述
  3. 优化:给原来的grid加一个边框,就不用先判断index超出边界了。
    在这里插入图片描述
  4. 输出
    在这里插入图片描述

numpy库

numpy官方文档:NumPy Documentation

可以通过dtype修改数据类型
在这里插入图片描述

numpy.reshape()

和matlab差不多。
在这里插入图片描述
下面这个很神奇,可以这样修改数组,目测是因为浅拷贝的原因。
在这里插入图片描述

数组的算术运算

[42]:数组相加
[43]:数组点乘
[44]:数组乘法
在这里插入图片描述

numpy.zeros()

在这里插入图片描述

注意

这里很奇怪,数组大小不同,但是只要有一个纬度相同或者单独的一个整数,就可以这样相加。满脸问号???
在这里插入图片描述

输出

在这里插入图片描述

numpy.logical_and()

官方文档:numpy.logical_and
链接还有逻辑或、逻辑非、逻辑异或和位与

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值