从流星雨启程:Python和Pygame下载与安装全过程

文章目录

  • 一、前言
  • 二、下载安装过程
    • 1.官网下载安装包
    • 2.安装python过程
      • 第一步
      • 第二步
      • 第三步
      • 第四步
      • 第五步
      • 安装完成
    • 3.简单测试Python
      • 3.1 检查 Python 版本号
      • 3.2 打开 Python 解释器
      • 3.3 输入你的第一个代码
      • 3.4 运行 Python 脚本
    • 4.安装Pygame
      • 4.1 cmd命令安装Pygame
      • 4.2 pip升级
      • 4.3 安装PythonTurtle模块
  • 三、实现流星雨
    • 1.编写python程序
    • 2.运行python程序
      • 2.1 通过cmd命令运行
      • 2.2 直接双击python文件运行
    • 2.图片效果
    • 3.动图效果
  • 四、总结


一、前言

最近,我开始关注一位专注于Python编程的博主。她的技术实力和创造力深深地吸引了我,尤其是她编写的“Python流星雨”效果,简直令人叹为观止。那些流动的字符和色彩,宛如编程世界中的一场视觉盛宴,让我对Python编程产生了浓厚的兴趣。

受到她的启发,我也想亲自尝试一下Python编程。毕竟,Python不仅是一门强大且易学的编程语言,还是数据科学、人工智能等领域的重要工具。而且,通过编程,我可以创造出属于自己的独特项目,甚至可能开发出有趣的应用或游戏。

为了实现这个目标,我计划先下载并安装Python,这是运行Python代码的必要环境。

下面是Python下载与安装的全部过程以及实现流星雨的源码。


二、下载安装过程

1.官网下载安装包

从Python官网下载安装包,点击Downloads–>Windows(具体看你自己是Windows还是macOS之类的)

在这里插入图片描述
这里你需要知道你的电脑是64位还是32位的电脑,不清楚的可以去电脑设置–>系统–>关于去查询。

这里我下载的是Stable Releases(稳定发布的版本),右边的Pre-releases(预发布的版本,不一定稳定)。

在这里插入图片描述
电脑位数查询:

在这里插入图片描述

下载完成就是一个python-3.12.1-amd64.exe的应用程序。下面是安装过程。

在这里插入图片描述

2.安装python过程

第一步

双击python-3.12.1-amd64.exe应用程序开始安装,弹出的第一个界面需要你勾选下面两个选项。

  1. Use admin privileges when installing py.exe:安装py.exe时使用管理员权限,这样你就可以在执行程序或命令时,可以更改系统设置或注册表。否则,您只能以普通用户的身份进行读取操作,而没有修改权限,从而无法完成更改操作。
  2. Add python.exe to PATH:将python.exe添加到PATH,也就是把python的路径添加到PATH环境变量中。如果你这里不勾选,后续你需要自己添加环境变量比较麻烦。

然后Install Now是立刻安装,默认路径,这里我是选择下面的Customize installation 自定义安装。

在这里插入图片描述

第二步

接下来会出现这个,这里我就默认全部安装了,然后点击Next下一步。

以下是可选功能的介绍:

  1. Documentation:安装Python文档文件
  2. pip:pip是Python的包管理器,用于安装和管理Python软件包。通过pip,用户可以从Python软件包索引(PyPI)下载和安装第三方软件包,以及管理已安装的包版本。pip的安装和使用非常方便,可以大大简化Python开发过程中的依赖管理任务。
  3. tcl/tk and IDLE:Tkinter(简称Tk)是Python自带的GUI编程库,在安装Python时通常会自动安装。它通常用于创建简单的桌面应用程序和图形用户界面(GUI)。而IDLE是Python自带的集成开发环境(IDE),它提供了许多有用的功能,如代码编辑器、调试器、交互式shell等,是Python初学者常用的工具之一。在安装Python时,如果选择安装“tkinter”和“IDLE”,它们将与Python一起安装,以便在Python开发过程中使用。
  4. Python test suite:Python 测试套件,指的是一组用于测试 Python 编程语言及其标准库的测试案例集合。它包含了大量的单元测试、集成测试和功能测试,用于验证 Python 解释器的正确性以及标准库中各个模块的功能是否正常。
  5. py launcher:是一个用于在 Windows 系统上运行多个 Python 版本的工具,它可以帮助用户快速切换不同版本的 Python 解释器,并且可以方便地运行 Python 脚本。

在这里插入图片描述

第三步

这里本来的路径是C盘,我不想直接安装在C盘,手动修改为E盘。其他默认,最后点击管理员模式安装Install。这里因为用户名是中文名,后续安装pygame老是失败,我就直接安装在虚拟机里面了。

在这里插入图片描述

第四步

它会弹出一个管理员确认,然后就进行到Installing过程,等待安装完成即可。

在这里插入图片描述

第五步

安装完成,关闭这个界面。

在这里插入图片描述

安装完成

安装成功会发现多出来这几个东西。

在这里插入图片描述

3.简单测试Python

安装完 Python 后,您可以通过W+R打开cmd命令进行简单的测试指令来验证 Python 是否成功安装并运行正常:

3.1 检查 Python 版本号

  1. python --version
    在这里插入图片描述

3.2 打开 Python 解释器

  1. python(该命令将打开 Python 解释器,您可以在其中输入 Python 代码并立即执行。)
    在这里插入图片描述

3.3 输入你的第一个代码

  1. print(“Hello, World!”)
    在这里插入图片描述

3.4 运行 Python 脚本

  1. 输入# script.py (换行)print(“Hello, World!”)
    解释器将输出 “Hello, World!”。
    在这里插入图片描述

确认验证 Python 已经成功安装并运行正常。

4.安装Pygame

Pygame是一个强大且易于使用的Python游戏开发库。它为开发者提供了许多用于创建2D游戏的工具和功能,包括图像、声音、事件处理和碰撞检测等。Pygame的跨平台特性也使得开发者能够轻松地将游戏部署到多个操作系统上。除此之外,Pygame还拥有活跃的社区和丰富的资源,为开发者提供了支持和帮助。这些因素共同使得Pygame成为了一个非常适合初学者和专业开发者的游戏开发库。

4.1 cmd命令安装Pygame

我这边采用最简单的方式:通过pip直接安装。
(也可以通过官网下载安装文件安装,这边就不介绍了)

通过W+R打开cmd命令然后输入:pip install pygame (回车)

在这里插入图片描述

等待安装完成。
在这里插入图片描述

4.2 pip升级

这个提示意味着有一个新版本的 pip 可用,并建议您升级到新版本。我直接升级到最新版本:python.exe -m pip install --upgrade pip
在这里插入图片描述

4.3 安装PythonTurtle模块

PythonTurtle是一个基于Python语言的图形库,它基于turtle模块,提供了一种简单而直观的方式来学习和实现绘图。

PythonTurtle模块可以帮助你创建一个画布窗口,并提供了一系列的函数和方法来控制一个海龟(turtle),让它在画布上移动、旋转和绘制各种图形。

你可以通过以下命令来安装PythonTurtle模块:
在这里插入图片描述

三、实现流星雨

1.编写python程序

验证Pygame是否成功安装,我参考网上的例程编写一个python流星雨程序来验证。用Notepad++文件创建一个Python文件,命名为test.py,并将以下代码复制到文件中:

import math # 导入math模块(数学函数)
import turtle as tu # 导入turtle 库(绘制基本的图形、动画)
import random as ra # 导入random 库(生成随机数)tu.setup(1.0, 1.0) # 用于设置窗口的大小
tu.screensize(1.0, 1.0) # 用于设置画布的大小
tu.bgcolor('black')  # 设置画布颜色 黑色
t = tu.Pen()  # 创建一个 Pen 对象(一支画笔),用于绘制图形。
t.ht()  # 隐藏画笔colors3 = ['purple', 'white', 'cyan', 'pink', 'yellow', 'blue']  # 流星的颜色列表class Star():  # 定义流星类def __init__(self):self.x3 = ra.randint(-1500, 1000)  # 流星的横坐标self.y3 = ra.randint(-500, 500)  # 流星的纵坐标self.r3 = ra.randint(50, 100)  # 流星的半径self.t = ra.randint(1, 3)  # 流星的旋转角度self.speed3 = ra.randint(1, 5)  # 流星的移动速度self.color3 = ra.choice(colors3)  # 流星的颜色def star2(self):  # 绘制流星函数t.pensize(1)  # 流星的大小t.penup()  # 提笔t.goto(self.x3, self.y3)  # 移动到流星起始位置t.pendown()  # 落笔t.color(self.color3) # 设置画笔的颜色t.begin_fill() # 开始填充颜色t.fillcolor(self.color3) # 设置填充的颜色t.setheading(-30) # 将角度设置为 -30 度,也就是使其向右倾斜一定角度t.right(self.t) # 调整流星的倾斜角度t.forward(self.r3) # 向前移动一定距离,距离为 self.r3,也就是流星的长度t.left(self.t) # 调整流星末尾的倾斜角度。t.circle(self.r3 * math.sin(math.radians(self.t)), 180)  # 绘制流星头部t.left(self.t) # 调整流星末尾的倾斜角度t.forward(self.r3) # 向前移动一定距离,距离为 self.r3,也就是流星的长度t.end_fill() # 结束填充颜色def move(self):  # 移动函数,控制流星的运动if self.y3 >= -500:  # 当流星还在画布中时self.y3 -= self.speed3  # 设置流星的上下移动速度self.x3 += 2 * self.speed3  # 设置流星的左右移动速度else:  # 当流星超出画布范围时,重置流星的属性self.r3 = ra.randint(50, 100)  # 随机生成流星的半径self.t = ra.randint(1, 3)  # 随机生成流星的旋转角度self.x3 = ra.randint(-1500, -750)  # 随机生成流星的横坐标self.y3 = ra.randint(-500, 1000)  # 随机生成流星的纵坐标self.speed3 = ra.randint(1, 5)  # 随机生成流星的移动速度self.color3 = ra.choice(colors3)  # 随机生成流星的颜色Stars = []  # 用列表保存所有流星
for i in range(50):Stars.append(Star())  # 创建50个流星对象,并添加到列表中while True:  # 开始绘制tu.tracer(0)  # 关闭动画效果t.clear()  # 清空画布内容for i in range(50):  # 绘制50个流星Stars[i].move()  # 移动流星Stars[i].star2()  # 绘制流星tu.update()  # 更新画布
tu.mainloop()   # 运行主循环,程序将在这里一直运行,直到手动关闭程序窗口

2.运行python程序

2.1 通过cmd命令运行

在这里插入图片描述

2.2 直接双击python文件运行

在这里插入图片描述

2.图片效果

在这里插入图片描述

3.动图效果

这里的动图不是python转换的,而是我用FastStone Capture录屏软件录制的视频转换成的gif动图。

在这里插入图片描述


四、总结

从我第一次尝试制作Python流星雨项目开始,虽然我对Python的Turtle库还不是很熟悉,也不清楚如何将结果转化为GIF动图,但这确实标志着我开始学习Python的起点。我渴望使用Python绘制出只属于我自己的节日祝福。

下篇讲一下PyCharm的安装以及pyinstaller打包python文件。

感谢你的观看,谢谢!

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zookeeper 面试

1zookeeper 是什么? 是一个开源的分布式协调服务,它提供了一个具有高可用性和一致性的分布式环境,用于协调和管理分布式系统中的各种数据和状态。 2 zookeeper 都有哪些功能? 分布式锁:可以通过 ZooKeeper 实现分布式…

实战:朴素贝叶斯文本分类器搭建与性能评估

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

ROS程序中常用循环结构的用途和用法

在 ROS (Robot Operating System) 程序中,循环结构是核心的一部分,用于控制节点的行为和处理消息。下面是一些常用的循环结构及其用途和用法: while (ros::ok()) 循环: 用途: 保持节点运行,用于执行持续的任务或周期性检查。这个循环确保节点在 ROS 环境下正常运行,直到接…

Java 快速入门

简介 跨平台性:Java 最大的优势之一就是跨平台性,即一份 Java 程序可以在多平台上运行,而无需重写。 简单易学:Java 的语法和面向对象的开发方式非常简单易学。 安全性:Java 对于安全性的处理非常慎重,对…

接口测试和功能测试

本文主要分为两个部分: 第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做? 第二部分&#xf…

oracle11体系结构二-存储结构

数据区: 数据区(数据扩展区)由一组连续的oracle数据块所构成的存储结构,一个或多个数据块组成一个数据区,一个或多个数据区组成一个段。当段中所有空间被使用完后,oracle系统将自动为该段分配一个新的数据…

2312clang,基于访问者的前端动作

原文 基于RecursiveASTVisitor的ASTFrontendActions. 创建用RecursiveASTVisitor查找特定名字的CXXRecordDeclAST节点的FrontendAction. 创建FrontendAction 编写基于clang的工具(如Clang插件或基于LibTooling的独立工具)时,常见入口是允许在编译过程中执行用户特定操作的F…

如何在生产环境正确使用Redis

一、在生产环境使用Redis 如果在生产环境使用Redis,需要遵守一定的使用规范,以保障服务稳定、高效。。 1.1、明确Redis集群的服务定位 1、仅适用于缓存场景:Redis定位于高性能缓存服务,强调快速读写和低延迟的特性,…

Adobe Application Manager丢失或损坏 - 解决方案

前言 Adobe Application Manager(简称AAM),是用来管理旧版Adobe软件的管理器,后来已经升级为Adobe Creative Cloud(简称ACC)。 使用Adobe系列软件时可能会报错提示需要使用Adobe Application Manager解决…

【Windows编程】期末复习题3

系列文章目录 期末复习题1 期末复习题2 文章目录 系列文章目录什么是事件驱动的程序执行过程?简要描述Windows的事件驱动程序模型。什么是动态链接库?其作用是什么?在Windows API程序设计中,资源的主要作用有哪些?Vis…

wifi驱动打开双模式

双模式 3.1 开启双模式 在Makefile添加EXTRA_CFLAGS -DCONFIG_CONCURRENT_MODE 重新编译(make之后发现不正常工作,需要make clean清理一下)。 再用sudo rmmod 8821cu.ko,重新启动。出现wlan1: 出现问题&#xff1…

助力打造清洁环境,基于轻量级DETR(DEtectionTRansformer)开发构建公共场景下垃圾堆放垃圾桶溢出检测识别系统

公共社区环境生活垃圾基本上是我们每个人每天几乎都无法避免的一个问题,公共环境下垃圾投放点都会有固定的值班时间,但是考虑到实际扔垃圾的无规律性,往往会出现在无人值守的时段内垃圾堆放垃圾桶溢出等问题,有些容易扩散的垃圾比…

2024年PMP考试新考纲-PMBOK第七版-项目绩效域真题解析

如何一次性通过PMP考试,取得3A等级的PMP证书?华研荟根据十多年的培训和辅导,以及数千名学员的建议是: 先把PMBOK第六版、第七版和敏捷实践指南的三本官方教材研读一遍(如果觉得自己看书慢,可以看讲解视频&…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)Dispatcher模块的实现思路和定义

(四)Dispatcher模块的实现思路 关于dispatcher,它应该是反应堆模型里边的核心组成部分,因为如果说这个反应堆模型里边有事件需要处理,或者说有事件需要检测,那么是需要通过这个poll、epoll 或者 select来完…

Spring Boot3 Web开发技术

前期回顾 springboot项目常见的配置文件类型有哪些?哪种类型的优先级最高 yml properties yaml 读取配置文件里的数据用什么注解? value restful风格 RESTful 风格与传统的 HTTP 请求方式相比,更加简洁,安全,能隐…

有赞微商城集成CRM:无代码电商平台优化用户运营

有赞微商城与无代码开发的完美结合 在数字化转型的浪潮中,无代码开发是商家极力追求的目标,它能够让非技术人员也能轻松地实现软件集成和数据流转。有赞微商城的出现,就是为了响应这一需求。通过无需复杂编程即可实现的API集成,商…

Kind创建k8s - JAVA操作控制

kind 简介kind 架构安装 Kind (必备工具)docker官网kubectl官网kind官网校验安装结果 关于kind 命令 安装一个集群查看当前 Kubernetes 集群中的节点信息。查看当前命名空间下中的Pod(容器实例)的信息。使用 kind create cluster 安装,关于安…

MYSQL一一函数一一流程函数

咱今天讲的是MySQL函数中的流程函数,会有3小题和一个综合案例帮助大家理解 流程函数是很常用的一类函数,可以在SQL语句中实现条件筛选,从而提高语句的效率 小题: ①if语句: select if(flash,ok,error); //如果…

Java之Atomic 原子类总结

Java之Atomic 原子类总结 Atomic 原子类介绍 Atomic 翻译成中文是原子的意思。在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的。在我们这里 Atomic 是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一…

【Java】你掌握了多线程吗?

【文末送书】今天推荐一本Java多线程编程领域新书《一本书讲透Java线程》 摘要 互联网的每一个角落,无论是大型电商平台的秒杀活动,社交平台的实时消息推送,还是在线视频平台的流量洪峰,背后都离不开多线程技术的支持。在数字化转…