Python精选200Tips:146-150

实战项目

        • P146--Boid模型用于模拟鸟群行为
          • 技术栈:pygame(版本2.6.0)+Boid模型
        • P147--文字加密生成二维码并解码
          • 技术栈:cryptography(信息加密)及qrcode(二维码生成)
        • P148--系统监控脚本
          • 技术栈:psutil 库(版本6.0.0)监控 CPU 使用率、内存使用情况和磁盘空间
        • P149--100以内数学计算题
          • 技术栈:父母如何当好老师
        • P150--把信息藏在图像里
          • 技术栈:如何才能玩的开心

运行系统:macOS Sonoma 14.6.1
Python编译器:PyCharm 2024.1.4 (Community Edition)
Python版本:3.12

往期链接:

1-56-1011-2021-3031-4041-50
51-60:函数61-70:类71-80:编程范式及设计模式
81-90:Python编码规范91-100:Python自带常用模块-1
101-105:Python自带模块-2106-110:Python自带模块-3
111-115:Python常用第三方包-频繁使用116-120:Python常用第三方包-深度学习
121-125:Python常用第三方包-爬取数据126-130:Python常用第三方包-为了乐趣
131-135:Python常用第三方包-拓展工具1136-140:Python常用第三方包-拓展工具2
Python项目实战
141-145
P146–Boid模型用于模拟鸟群行为
技术栈:pygame(版本2.6.0)+Boid模型
import pygame
import random# 屏幕设置
WIDTH, HEIGHT = 800, 600
BACKGROUND_COLOR = (255, 192, 203)  # 粉色背景# 矩形类,用于范围查询
class Rectangle:def __init__(self, x, y, w, h):self.x = xself.y = yself.w = wself.h = hdef contains(self, position):return (self.x <= position.x < self.x + self.w andself.y <= position.y < self.y + self.h)def intersects(self, other):return not (other.x + other.w < self.x orother.x > self.x + self.w orother.y + other.h < self.y orother.y > self.y + self.h)# Boid 类
class Boid:def __init__(self, x, y):self.position = pygame.Vector2(x, y)self.velocity = pygame.Vector2(random.uniform(-1, 1), random.uniform(-1, 1))self.velocity.scale_to_length(random.uniform(2, 4))  # 随机速度def update(self, boids):alignment = self.align(boids) cohesion = self.cohere(boids) separation = self.separate(boids)self.velocity += alignment + cohesion + separationself.velocity = self.velocity.normalize() * 4  # 限制速度self.position += self.velocityself.wrap_around()def align(self, boids):perception_radius = 50steering = pygame.Vector2(0, 0)total = 0for other in boids:if other != self and self.position.distance_to(other.position) < perception_radius:steering += other.velocitytotal += 1if total > 0:steering /= totalsteering = steering.normalize() * 4steering -= self.velocityreturn steeringreturn pygame.Vector2(0, 0)def cohere(self, boids):perception_radius = 100steering = pygame.Vector2(0, 0)total = 0for other in boids:if other != self and self.position.distance_to(other.position) < perception_radius:steering += other.positiontotal += 1if total > 0:steering /= totalsteering -= self.positionsteering = steering.normalize() * 4steering -= self.velocityreturn steeringreturn pygame.Vector2(0, 0)def separate(self, boids):perception_radius = 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1540321.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

java踩坑

1.mybatis在idea可以正常运行&#xff0c;但是打jar包后&#xff0c;就报链接超时&#xff0c;可能是参数设置有问题&#xff0c;但是idea自动忽略了。 出问题的配置&#xff1a;&#xff08;圈出来的地方乱码了&#xff0c;idea有纠错能力&#xff0c;它自动调整为正确的&…

电脑录课软件哪个好用,提高教学效率?电脑微课录屏软件推荐

在当今这个数字化时代&#xff0c;教育领域也迎来了翻天覆地的变化。随着远程教学和在线学习的普及&#xff0c;教师们开始寻求更高效、更便捷的教学工具来提升教学质量和学生的学习体验。电脑录课软件&#xff0c;作为现代教育技术的重要组成部分&#xff0c;能够帮助教师轻松…

基于存内计算架构的模型部署与映射优化

先进计算大赛背景&#xff1a; ‘’存内计算”架构通过消除存储与计算单元间的物理距离&#xff0c;突破传统冯诺依曼架构的限制&#xff0c;自2016年起受到广泛关注&#xff0c;被视为国产算力发展的关键技术。 ​ 在存内计算架构中&#xff0c;权重布局对提高存算单元利用率…

海外盲盒APP为盲盒出海助力,拓展海外市场

潮玩市场是一个具有全球化的行业在全球都具有非常高的发展潜力&#xff0c;随着国内盲盒市场的饱和&#xff0c;拓展海外市场对盲盒企业至关重要。近年来&#xff0c;盲盒已经在海外市场取得了一定的成绩&#xff0c;这为企业拓展海外市场奠定了发展基础。 目前&#xff0c;在…

虚拟机(VMware)安装,保姆级教程(附所有安装包及所有安装步骤)

1.安装包下载 1.1VMware下载 VMware安装包 提取码&#xff1a;b9ds 1.2镜像下载 镜像安装包 提取码&#xff1a;hbtq 2.配置虚拟机向导 2.1配置虚拟机向导 2.2选择虚拟机硬件兼容性 2.3安装客户机操作系统 2.4简易安装信息 2.5命名虚拟机 2.6处理器配置 #这个根据自己…

“数字化、数字化流程、流程数字化转型、端到端流程”概念解析

​头一次看到能把“数字化”“数字化流程”“流程数字化转型”和“端到端流程”说的这么清楚的&#xff01; 所谓的“数字化”是指新一代的数字化技术&#xff0c;比如移动、社交、云技术、大数据、人工智能、区块链、数字孪生等。这批新技术已经开始改变人们的工作方式&#x…

VBA技术资料MF198:禁用下拉拖放

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

案例精选 | 聚铭助力河北省某市公安局筑牢网络安全防护屏障

近年来&#xff0c;各级公安机关积极响应信息化发展趋势&#xff0c;致力于提升公安工作的效能与核心战斗力。河北省某市公安局作为主管全市公安工作的市政府部门&#xff0c;承担着打击违法犯罪、维护社会稳定的重任。随着信息化建设的推进&#xff0c;局内系统数量、种类及数…

模板初阶(C++)

初识模板 模板分为 函数模板和类模板这两种&#xff0c;模板可以理解为是一套固有的方法&#xff0c;通过改变里面不同的载体&#xff08; 参数类型&#xff09;进而调高代码的复用性。这是一个经典案例&#xff0c;在不使用模板的情况下&#xff0c;若遇见不同类型的参数&…

Linux——k8s认识

计算资源隔离 - 更方便进行高并发架构的维护和升级 - 架构管理的灵活性更高&#xff0c;不再以单个节点的物理资源作为基础 技术&#xff1a; - 硬件辅助虚拟化 - 容器技术 在企业部署方案中&#xff0c;很少以单节点实现虚拟化和容器技术&#xff0c;一般以集群状态来运…

PCL KD树的使用

目录 一、概述 1.1原理 1.1.1 数据拆分过程 1.1.2 树的构建示例 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1KD树构建与查询&#xff1a; 2.1.2 k近邻搜索 2.1.3半径搜索 2.2完整代码 三、实现效果 3.1处理后点云 3.2数据显示 PCL点云算法汇总及实战…

neo4j导入csv数据

neo4j数据可视化实践 手动输入数据 - 官方democsv数据导入准备数据数据处理导入步骤① 导入疾病表格② 导入药物表格③导入疾病-药物关系表格 爬虫的csv文件 手动输入数据 - 官方demo 点击之后&#xff0c;按照左边10张图中的代码&#xff0c;复制粘贴熟悉语法 效果如下 csv数据…

(十六)Ubuntu 20.04 下搭建PX4+MATLAB 仿真环境(HITL)

在文章&#xff08;十五&#xff09;Ubuntu 20.04 下搭建PX4MATLAB 仿真环境我们学习了如何配置仿真环境&#xff0c;在本节&#xff0c;主要进行HITL的仿真环境搭建。 根据&#xff08;十五&#xff09;Ubuntu 20.04 下搭建PX4MATLAB 仿真环境完成配置到如下界面&#xff1a;…

STM32F1+HAL库+FreeTOTS学习11——延时函数API

STM32F1HAL库FreeTOTS学习11——延时函数API 延时函数API1. vTaskDelay()2. vTaskDelayUntil()3. xTaskDelayUntil()相对延时和绝对延时的区别4. xTaskAbortDelay() 上一期&#xff0c;我们学习了任务相关API使用&#xff0c;这一期我们开始学习FreeRTOS延时函数的API使用 延时…

MySQL--导入SQL文件(命令行导入)

MySQL--导入SQL文件 一、前言二、导入SQL文件 一、前言 用可视化编辑工具编写&#xff0c;并且在控制台输入命令行在MySQL中导入SQL文件。 在导入SQL文件之前查看了目前存在的数据库 **目标&#xff1a;**在可视化编辑工具(这里以word文档为例&#xff09;中编写SQL语句&…

【算法竞赛】栈

栈的特点是"先进后出"。 栈在生活中的原型有:坐电梯,先进电梯的被挤在最里面,只能最后出来&#xff1b;一管泡腾片,最先放进管子的药片位于最底层&#xff0c;最后被拿出来。 栈只有唯一的出入口,从这个口进入,也从这个口弹出,这是它与队列最大的区别。 队列有一个入…

【动态规划】最大正方形

最大正方形&#xff08;难度&#xff1a;中等&#xff09; 该题对应力扣网址 思路 min_valuemin({dp[i-1][j-1],dp[i-1][j],dp[i][j-1]}) dp[i][j]min_value 关键点是正方形的右下角(n>1时)&#xff0c;通过画图&#xff0c;可以看出&#xff0c;在基础正方形22中&#x…

unordered_map/set(底层实现)——C++

目录 前言&#xff1a; 1.开散列 1. 开散列概念 2. 开散列实现 2.1哈希链表结构体的定义 2.2哈希表类即私有成员变量 2.3哈希表的初始化 2.4迭代器的实现 1.迭代器的结构 2.构造 3.* 4.-> 5. 6.&#xff01; 2.5begin和end 2.6插入 2.7Find查找 2.8erase删除 3.unordered_ma…

在vue中:style 的几种使用方式

在日常开发中:style的使用也是比较常见的&#xff1a; 亲测有效 1.最通用的写法 <p :style"{fontFamily:arr.conFontFamily,color:arr.conFontColor,backgroundColor:arr.conBgColor}">{{con.title}}</p> 2.三元表达式 <a :style"{height:…

Gitlab学习(006 gitlab操作)

尚硅谷2024最新Git企业实战教程&#xff0c;全方位学习git与gitlab 总时长 5:42:00 共40P 此文章包含第21p-第24p的内容 文章目录 git登录修改root密码 设置修改语言取消相对时间勾选 团队管理创建用户创建一个管理员登录管理员账号创建一个普通用户登录普通用户账号 群组管理…