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

news2025/2/8 2:25:22

文章目录

  • 一、前言
  • 二、下载安装过程
    • 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.coloradmin.cn/o/1336226.html

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

相关文章

论文阅读——X-Decoder

Generalized Decoding for Pixel, Image, and Language Towards a Generalized Multi-Modal Foundation Model 1、概述 X-Decoder没有为视觉和VL任务开发统一的接口,而是建立了一个通用的解码范式,该范式可以通过采用共同的(例如语义&#…

12月25日作业

串口发送控制命令&#xff0c;实现一些外设LED 风扇 uart4.c #include "uart4.h"void uart4_config() {//1.使能GPIOB\GPIOG\UART4外设时钟RCC->MP_AHB4ENSETR | (0x1 << 1);RCC->MP_AHB4ENSETR | (0x1 << 6);RCC->MP_APB1ENSETR | (0x1 <…

博易大师智星系统外盘资管系统的功能介绍!

1. 市场行情数据接收和显示&#xff1a;软件需要接收实时的市场行情数据&#xff0c;并将其以图形或数字的形式显示出来&#xff0c;包括价格、成交量、成交额等信息。 2. 交易操作界面&#xff1a;软件需要提供一个交易操作界面&#xff0c;供用户进行交易操作&#xff0c;包括…

HarmonyOS共享包HAR

共享包概述 OpenHarmony提供了两种共享包&#xff0c;HAR&#xff08;Harmony Archive&#xff09;静态共享包&#xff0c;和HSP&#xff08;Harmony Shared Package&#xff09;动态共享包。 HAR与HSP都是为了实现代码和资源的共享&#xff0c;都可以包含代码、C库、资源和配…

基于深度学习的非合作双基地雷达目标检测方法

源自&#xff1a;信号处理 作者&#xff1a;钟宁, 鲍庆龙, 陈健, 戴华骅 “人工智能技术与咨询” 发布 摘 要 非合作双基地雷达由于接收的目标信号能量不强且回波脉冲间相位同步困难&#xff0c;在目标检测时无法进行相参处理从而带来弱小目标检测困难的问题。为解决这一问…

【操作系统】探究进程奥秘:显示进程列表的解密与实战

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;Linux专栏&#xff1a;《探秘Linux | 操作系统解密》⏰诗赋清音&#xff1a;月悬苍穹泛清辉&#xff0c;梦随星河徜徉辉。情牵天际云千层&#xff0c;志立乘风意自飞。 ​ 目录 &a…

构建外卖系统:从技术到实战

在当今高度数字化的社会中&#xff0c;外卖系统的开发变得愈发重要。本文将从技术角度出发&#xff0c;带领读者一步步构建一个基础的外卖系统&#xff0c;并涵盖关键技术和实际代码。 1. 技术选型 1.1 后端开发 选择Node.js和Express框架进行后端开发&#xff0c;搭建一个灵…

Linuxapache安装

Apache 介绍 Apache HTTP Server&#xff08;简称Apache&#xff09;是Apache软件基金会的一个开放源码的网页服务器&#xff0c;Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上&#xff0c;由于其跨平台和安全性被广泛使用&#xff0…

AIGC专栏1——Pytorch搭建DDPM实现图片生成

AIGC专栏1——Pytorch搭建DDPM实现图片生成 学习前言源码下载地址网络构建一、什么是Diffusion1、加噪过程2、去噪过程 二、DDPM网络的构建&#xff08;Unet网络的构建&#xff09;三、Diffusion的训练思路 利用DDPM生成图片一、数据集的准备二、数据集的处理三、模型训练 学习…

iOS设备信息详解

文章目录 ID 体系iOS设备信息详解IDFA介绍特点IDFA新政前世今生获取方式 IDFV介绍获取方式 UUID介绍特点获取方式 UDID介绍获取方式 OpenUDID介绍 Bundle ID介绍分类其他 IP地址介绍获取方式 MAC地址介绍获取方式正常获取MAC地址获取对应Wi-Fi的MAC地址 系统版本获取方式 设备型…

Java基于TCP网络编程的群聊功能

服务端 import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; import java.util.List;public class Server2 {public static List<Socket> onlineList new ArrayList<>();public static void main(String[] args) throws Except…

在做题中学习:三数之和

15. 三数之和 - 力扣&#xff08;LeetCode&#xff09;15. 三数之和 - 力扣&#xff08;LeetCode&#xff09; 解释&#xff1a;不能重复也就是说不能和前一个三元组的元素完全相同 思路&#xff1a;通过做 两数之和那道题 可以想到&#xff1a; 1.先排序 2.双指针法 3.固定…

分布式核心技术之分布式锁

文章目录 为什么要使用分布锁&#xff1f;分布式锁的三种实现方法基于数据库实现分布式锁基于缓存实现分布式锁基于 ZooKeeper 实现分布式锁知识扩展&#xff1a;如何解决分布式锁的羊群效应问题&#xff1f; 三种实现方式对比 分布式互斥&#xff0c;领悟了其“有你没我&#…

解决 Solidworks2021 报错(-15,10032,0)错误记录

Solidworks2021 报错"-15,10032,0"错误记录 如图所示解决方案步骤1步骤2 个人问题我的没法添加白名单&#xff0c;要是有能解决的大神给个解决方式感激不尽&#xff01;&#xff01; 如图所示 解决方案 步骤1 该问题的解决方式仅对个人有效&#xff0c;不一定通用&…

非对称加密与对称加密的区别是什么?

在数据通信中&#xff0c;加密技术是防止数据被未授权的人访问的关键措施之一。而对称加密和非对称加密是两种最常见的加密技术&#xff0c;它们被广泛应用于数据安全领域&#xff0c;并且可以组合起来以达到更好的加密效果。本文将探讨这两种技术的区别&#xff0c;以及它们在…

C#示例(一):飞行棋游戏

1、先看一下实现效果 输入连个玩家的姓名 两个玩家分别用字母A和字母B表示 按下任意键开始掷骰子、根据骰子走对应的步数… 2、绘制游戏头 /// <summary>/// 画游戏头/// </summary>public static void GameShow(){Console.ForegroundColor ConsoleColor.Blu…

CEEMDAN +组合预测模型(BiLSTM-Attention + ARIMA)

目录 往期精彩内容&#xff1a; 前言 1 风速数据CEEMDAN分解与可视化 1.1 导入数据 1.2 CEEMDAN分解 2 数据集制作与预处理 2.1 划分数据集&#xff0c;按照8&#xff1a;2划分训练集和测试集&#xff0c; 然后再按照前7后4划分分量数据 2.2 设置滑动窗口大小为7&#…

SuperMap iClient3D for WebGL时序影像

文章目录 前言一、加载影像数据二、创建时间条1.这里使用Echarts来创建TimeLine&#xff0c;首先需要引入相关依赖2.初始化Echarts实例 三、设置不同年份影像交替显示四、效果 前言 时序影像可以用于对地球表面的变化进行定量分析和监测。 通过对多时相遥感影像的比较和分析&a…

【开源】基于Vue+SpringBoot的新能源电池回收系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户档案模块2.2 电池品类模块2.3 回收机构模块2.4 电池订单模块2.5 客服咨询模块 三、系统设计3.1 用例设计3.2 业务流程设计3.3 E-R 图设计 四、系统展示五、核心代码5.1 增改电池类型5.2 查询电池品类5.3 查询电池回…

铁山靠之——HarmonyOS组件 - 2.0

HarmonyOS学习第二章 一、HarmonyOS基础组件的使用1.1 组件介绍1.2 Text1.2.1 文本样式1.2.2 设置文本对齐方式1.2.3 设置文本超长显示1.2.4 设置文本装饰线 1.3 Image1.3.1 设置缩放类型1.3.2 加载网络图片 1.4 TextInput1.4.1 设置输入提示文本1.4.2 设置输入类型1.4.3 设置光…