从流星雨启程: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.mfbz.cn/a/271310.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++的面向对象学习(6):运算符的重载

文章目录 前言:什么是运算符重载?针对自定义的类与对象类型。一、加号的运算符重载1.引入背景2.所以运算符重载的作用:3.实现对象间的相加代码:号运算符重载①在类中实现加号运算符重载②设计全局函数实现加号运算符重载③改写函数…

基于QListWidget的多段曲线展示器

目录 1 开发背景 2 创建程序 3 更改main window函数 4 测试构造函数 5 文件打开函数 6 拖放的实现 1 开发背景 由于视图控件的拖放逻辑比较难,需要同时子类化视图和模型,那么对于小数据而言,不如使用便捷类。因此,决定对多…

JavaOOP篇----第十八篇

系列文章目录 文章目录 系列文章目录前言一、什么是成员内部类二、Static Nested Class 和 Inner Class的不同三、什么时候用assert四、Java有没有goto前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女…

探索音乐创作的新境界——PreSonus Studio One Pro 6

音乐是人类情感的表达方式之一,而音乐制作编曲软件则是让人们将创意转化为音乐作品的重要工具之一。在众多软件中,PreSonus Studio One Pro 6凭借其强大的功能和出色的用户体验,成为了许多音乐制作人的首选。 首先,PreSonus Stud…

App应用如何在应用市场获得更多下载量?

App的转化率至关重要,App如何获得更多用户,提高应用的下载量? 据 Apple 称,每周有 6.5亿访问者访问应用商店,77%的应用下载来自 iOS 应用商店的自然搜索。随着 Apple 默认关闭了IDFA,自然搜索比以往任何时…

git之UGit可视化工具使用

一、下载安装UGit 链接:https://pan.baidu.com/s/1KGJvWkFL91neI6vAxjGAag?pwdsyq1 提取码:syq1 二 、使用SSH进行远程仓库连接 1.生成SSH密钥 由于我们的本地 git仓库和 gitee仓库之间的传输是通过SSH加密的,所以我们需要配置SSH公钥。才…

结合教学经验谈计量经济学与Stata软件的学习

1.经济金融专业学生计量学习之痛 教学实践中,很多学生跟我抱怨计量经济学难学的问题,也有很多研0的同学感觉本科阶段没学好,或者跨专业考研的同学,在知道了计量经济学的重要性之后,对于经济金融领域的“无计量、不科研…

Kind创建k8s - JAVA操作控制

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

智能优化算法应用:基于浣熊算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于浣熊算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于浣熊算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.浣熊算法4.实验参数设定5.算法结果6.参考文献7.MA…

中后缀表达式

一、利用后缀表达式进行计算 1)解题思路 如果当前字符串是操作数,就将该操作数入栈;如果当前字符串是操作符,就取栈顶的两个操作数进行运算(注意:第一个出栈的数为计算时的右操作数;第二个出栈…

继电器负载的使用方法有哪些?

继电器是通过电磁效应或电热效应实现电路的自动开关。继电器负载是指继电器所控制的负载,通常包括电机、灯泡、加热器等。正确使用继电器负载可以确保设备的正常运行和安全。以下是一些使用继电器负载的方法: 选择合适的继电器:根据负载的类型…

基于java+控件台+mysql的学生信息管理系统(含演示视频)

基于java控件台mysql的学生信息管理系统_含演示视频 一、系统介绍二、功能展示1.项目内容2.项目骨架3.数据库4.登录系统5.新增学生6.查询学生7.修改学生8.删除学生9.退出系统 四、其它1.其他系统实现五.获取源码 一、系统介绍 项目类型:Java SE项目(控制…

大数据开发之Sqoop详细介绍

测试环境 CDH 6.3.1 Sqoop 1.4.7 一.Sqoop概述 Apache Sqoop(SQL-to-Hadoop)项目旨在协助RDBMS与Hadoop之间进行高效的大数据交流。用户可以在 Sqoop 的帮助下,轻松地把关系型数据库的数据导入到 Hadoop 与其相关的系统 (如HBase和Hive)中&…

Java经典框架之Spring MVC

Spring MVC Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. Spring MVC 入门案例 2. 基…

Github 2023-12-23 开源项目日报 Top10

根据Github Trendings的统计,今日(2023-12-23统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目6C项目2C项目1Jupyter Notebook项目1HTML项目1Go项目1非开发语言项目1 免费API集体清单 创建周期…

【中小型企业网络实战案例 二】配置网络互连互通

​【中小型企业网络实战案例 一】规划、需求和基本配置-CSDN博客 热门IT技术视频教程&#xff1a;https://xmws-it.blog.csdn.net/article/details/134398330?spm1001.2014.3001.5502 配置接入层交换机 1.以接入交换机ACC1为例&#xff0c;创建ACC1的业务VLAN 10和20。 <…

哪些超声波清洗机值得买?五款超声波清洗机实测大对比!

在当今快节奏的生活中&#xff0c;我们对于日常用品的清洁度要求越来越高。为了满足这一需求&#xff0c;超声波清洗机应运而生&#xff0c;以其高效、便捷的清洁方式赢得了广泛的市场。然而&#xff0c;面对市场上琳琅满目的超声波清洗机品牌和型号&#xff0c;很多时候都是无…

2047过滤空格(C语言)

目录 一&#xff1a;题目 二&#xff1a;思路分析 三&#xff1a;代码 一&#xff1a;题目 二&#xff1a;思路分析 1.首先&#xff0c;这道题是一个字符串的问题&#xff0c;我们要先知道字符串存放在char类型的数组中的&#xff0c;并不是一个变量就可直接存放的下一个完整…

iOS设备信息详解

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

使用 pytest.ini 文件控制输出 log 日志

一、前置说明 pytest.ini 文件中可以配置参数来控制 pytest 的运行行为,其存放路径要求与 conftest.py 一样。 项目根目录project_root/ ├── pytest.ini ├── tests/ │ └── test_demo.py以test开头的测试子目录project_root/ ├── tests/ │ ├── pytest.in…
最新文章