Python 常用内置库 time库、random库、turtle库

文章目录

  • 一、time库
  • 二、random库
  • 三、turtle库
    • 1. 绘制正方形
    • 2. 使用海龟对象绘制六边形
    • 3. 绘制多个起点相同大小不同起点的五角星
    • 4. 绘制多个图形和添加文字


提示:以下是本篇文章正文内容,下面案例可供参考

一、time库

time是最基础的时间处理库,该库本质上是一个模块,它包含的所有内容都定义在time.py文件中。

导入模块

import time
  1. time()
# 获取当前时间戳
print(time.time())

输出:1711880924.9590006

  1. localtime()和gmtime()
    相同:都是获取结构化时间,以元组的形式输出
    不同:gmtime()是世界时间 localtime()是本地时间
print(time.localtime())
print(time.gmtime())

输出:time.struct_time(tm_year=2024, tm_mon=3, tm_mday=31, tm_hour=18, tm_min=30, tm_sec=48, tm_wday=6, tm_yday=91, tm_isdst=0)

time.struct_time(tm_year=2024, tm_mon=3, tm_mday=31, tm_hour=10, tm_min=30, tm_sec=48, tm_wday=6, tm_yday=91, tm_isdst=0)

  1. strftime()
    自定义借助时间格式控制符来输出格式化的时间字符串
print(time.strftime('%a,%d %b %Y %H:%M:%S'))

输出:Sun,31 Mar 2024 18:31:56

  1. asctime()
    借助时间格式化的形式是 星期 月 日 时间 年份
localtime=time.localtime()
print(time.asctime(localtime))

输出:Sun Mar 31 18:32:18 2024

  1. sleep()
    sleep函数可用将该程序进入睡眠状态
print('开始')
time.sleep(5)
print('结束')

输出:开始
结束

二、random库

生成随机数

函数功能
random()随机生成一个浮点数n(0<=n<1.0)
uniform(a,b)用于随机生成一个指定范围内的随机浮点数n,若a<b,则a<=n<=b;若a>b,则b<=n<=a
randint(a,B)用于生成一个只当范围内的整数n(a<=n<=b)
randrange([start,]stop[,step])生成一个按指定基数递增的序列,再从该序列中获取一个随机数 [ ]内的内容可写可不写
choice(sequence)从序列中获取一个随机元素,参数sequence表示一个有序类型
shuffle(x[,random])将序列x中的元素随机排列
sample(sequence,k)从指定序列中获取长度为k的片段,随机排列后返回新的序列,该函数可以基于不可变序列进行操作

在这里插入图片描述


三、turtle库

trutle(海龟)是python中的内置的一个标准模块,它提供了绘制线、圆和其他形状的函数,使用该模块可创建图形窗口,在图形窗口中通过简单重复动作直观地绘制界面和图形

  1. 导入模块
  2. 创建窗口(画布)

格式:setup(width,height,startx=None,starty=None)
其中参数分别对应的是窗口的:宽度、高度、窗口在计算机屏幕上的横坐标和纵坐标
3. 设置画笔 pensize() 画笔大小 speed() 画笔移动速度 color() 画笔颜色
4. 绘制图形

绘制弧线

circle(radius,extent=None,steps=None)

解释:

1. radius用于设置半径
    当radius为正时,画笔以原点为起点向上绘制弧线;radius为负时,画笔以原点为起点向下绘制弧线
2. extent用于设置弧的角度
    当extent为正时,画笔以原点为起点向右绘制弧线;extent为负时,画笔以原点为起点向左绘制弧线;extent为默认值None时绘制整个圆
3. steps用于设置步长
    当steps为默认值None时,步长自动计算;若给出步长,circle()函数可用于绘制正多边形

1. 绘制正方形

# 导入模块
import turtle
# 创建窗口(画布) 
turtle.setup(800,600)
turtle.bgcolor("black")
# 设置画笔
turtle.color("white")
turtle.pensize(4)
turtle.speed(5)
# 绘制图形
for _ in range(4):
    turtle.forward(100)
    turtle.right(90)
# 设置手动关闭
turtle.mainloop()

在这里插入图片描述

2. 使用海龟对象绘制六边形

import turtle
# 第一步:创建画布
# 使用Screen()函数创建一个新的画布窗口
screen = turtle.Screen()

# 可选设置:指定画布大小
# 参数分别为宽度和高度,单位通常是像素
screen.setup(width=600, height=400)

# 可选设置:背景颜色
screen.bgcolor("white")  # 设置背景颜色为白色

# 第二步:创建海龟对象(画笔)
t = turtle.Turtle()  # 创建一个默认的海龟对象

# 可以进一步设置海龟的颜色、形状等属性
t.color("blue")  # 设置海龟线条颜色为蓝色
t.shape("turtle")  # 设置海龟形状为经典的海龟形状

# 现在已经准备好开始在画布上绘制图形了
# 示例:画一个六边形
for _ in range(6):
    t.forward(100)  # 海龟向前移动100像素
    t.right(60)  # 海龟向右转90度

# 最后,如果需要保持窗口打开直到用户手动关闭,可以运行主循环
screen.mainloop()

在这里插入图片描述

3. 绘制多个起点相同大小不同起点的五角星

import turtle as t
def draw_fiveStars(leng):
    count=1
    while count <=5:
        t.forward(leng)
        t.right(144)
        count+=1
    leng+=10
    if leng <= 100:
        draw_fiveStars(leng)
def main():
    t.penup() # 提起画笔
    t.backward(100) #反方向移动100像素
    t.pendown() # 落笔
    t.pensize(2) # 设置画笔大小
    t.pencolor("red") # 设置画笔颜色
    segment=50
    draw_fiveStars(segment)
    t.exitonclick()

if __name__ == "__main__":
    main()

在这里插入图片描述

4. 绘制多个图形和添加文字

import turtle as t
# 三角形
t.pensize(3)
# 提起画笔
t.penup()
# 移动到指定位置
t.goto(-200,-50)
# 放下画笔
t.pendown()
# 开始填充
t.begin_fill()
# 填充颜色
t.color('red')
# 半径为40
t.circle(40,steps=3)
# 填充结束
t.end_fill()

# 正方形
# 提起画笔
t.penup()
# 移动到指定位置
t.goto(-100,-50)
# 放下画笔
t.pendown()
# 开始填充
t.begin_fill()
# 填充颜色
t.color('blue')
# 半径为40
t.circle(40,steps=4)
# 填充结束
t.end_fill()

# 五边形
# 提起画笔
t.penup()
# 移动到指定位置
t.goto((0,-50))
# 放下画笔
t.pendown()
# 开始填充
t.begin_fill()
# 填充颜色
t.color('yellow')
# 半径为40
t.circle(40,steps=5)
# 填充结束
t.end_fill()

# 六边形
# 提起画笔
t.penup()
# 移动到指定位置
t.goto(100,-50)
# 放下画笔
t.pendown()
# 开始填充
t.begin_fill()
# 填充颜色
t.color('seashell')
# 半径为40
t.circle(40,steps=6)
# 填充结束
t.end_fill()

# 圆形
# 提起画笔
t.penup()
# 移动到指定位置
t.goto(200,-50)
# 放下画笔
t.pendown()
# 开始填充
t.begin_fill()
# 填充颜色
t.color('purple')
# 半径为40
t.circle(40)
# 填充结束
t.end_fill()

# 文字
t.color('green')
t.penup()
t.goto(-100,50)
t.pendown()
t.write("Cool Colorful Shapes",font=("Times",18,"bold"))
# 可见性 ,隐藏海龟,也就是海龟画笔
t.hideturtle()
t.done()
t.mainloop()

在这里插入图片描述

谢谢大家的观看!
大家一起加油!

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

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

相关文章

CAJViewer7.3 下载地址及安装教程

CAJViewer是中国学术期刊&#xff08;CAJ&#xff09;全文数据库的专用阅读软件。CAJViewer是中国知识资源总库&#xff08;CNKI&#xff09;开发的一款软件&#xff0c;旨在方便用户在线阅读和下载CAJ数据库中的学术论文、期刊和会议论文等文献资源。 CAJViewer具有直观的界面…

Kubernetes之Projected Volume

目录 四种Projected Volume Secret 使用方法 应用场景 示例 ConfigMap 使用方法 应用场景 示例 Downward API 使用方法 应用场景 示例 ServiceAccountToken 使用方法 应用场景 示例 在 Kubernetes 中,有几类特殊的 Volume,它们存在的意义不是为了存放容器里的…

深入探索位图技术:原理及应用

文章目录 一、引言二、位图&#xff08;Bitset&#xff09;基础知识1、位图的概念2、位图的表示3、位图操作 三、位图的应用场景1、数据查找与存储2、数据去重与排序 四、位图的实现 一、引言 位图&#xff0c;以其高效、简洁的特性在数据处理、存储和检索等多个领域发挥着举足…

抽象类和接口的简单认识

目录 一、抽象类 1.什么是抽象类 2.抽象类的注意事项 3.抽象类与普通类的对比 二、接口 1.接口的简单使用 2.接口的特性 3.接口的使用案例 4.接口和抽象类的异同 一、抽象类 所谓抽象类&#xff0c;就是更加抽象的类&#xff0c;也就是说&#xff0c;这个类不能具体描…

文献学习-23-MRM:用于遗传学医学图像预训练的掩码关系建模

MRM: Masked Relation Modeling for Medical Image Pre-Training with Genetics Authors: Qiushi Yang, Wuyang Li, Baopu Li, Yixuan Yuan Source: ICCV 2023 Abstract: 关于自动多模态医疗诊断的 ODERN 深度学习技术依赖于大量的专家注释&#xff0c;这既耗时又令人望而却…

【KingSCADA】播放语音

1.函数介绍 PlaySound(string strWaveFileName, int nMode);下面是官方帮助文档中的解释&#xff1a; 2.生成语音文件 3.使用脚本播放音频文件 将音频文件存放在工程目录下面&#xff0c;我存放在了…\Resources\文件夹下&#xff1a; 我简单的写了一个定时1分钟播放一次语…

【MATLAB源码-第23期】基于matlab的短时傅里叶STFT信号变换仿真,得到信号的时频曲线图。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 短时傅里叶变换&#xff08;Short-Time Fourier Transform&#xff0c;STFT&#xff09;是傅里叶变换的一种扩展&#xff0c;用于分析信号在时域和频域上的变化。描述如下&#xff1a; 1. **时域与频域分析**&#xff1a; …

使用 Seq2Seq 模型进行文本摘要

目录 引言 1 导入数据集 2 清洗数据集 3 确定允许的最大序列长度 4 选择合理的文本和摘要 5 对文本进行标记 6 删除空文本和摘要 7 构建模型 7.1 编码器 7.2 解码器 8 训练模型 9 测试模型 10 注意 11 整体代码 引言 文本摘要是指在捕捉其本质的同时缩短长文本的…

windows平台虚拟机安装

windows平台虚拟机安装 1. 安装VMwareWorkstationPro 1.1 软件下载 官网下载 官网 百度网盘下载 版本 VMwareWorkstationPro16 链接&#xff1a;https://pan.baidu.com/s/1LidMxoM9e4a4CANixyRoyg?pwd1157 提取码&#xff1a;1157 1.2 软件安装 软件安装注意事项 软件…

Mamba和状态空间模型(SSM)的视觉指南:替代 Transformers 的语言建模方法

原文地址&#xff1a; A Visual Guide to Mamba and State Space Models 2024 年 2 月 19 日 论文地址&#xff1a;https://arxiv.org/pdf/2312.00752.pdf 这篇论文介绍了一种新型的线性时间序列模型Mamba&#xff0c;它通过选择性状态空间&#xff08;Selective State Space…

详解CAS(Compare and swap)

一、什么是 CAS CAS: 全称Compare and swap&#xff0c;字⾯意思:”⽐较并交换“&#xff0c;⼀个 CAS 涉及到以下操作&#xff1a; 我们假设内存中的原数据V&#xff0c;旧的预期值A&#xff0c;需要修改的新值B。 比较 A 与 V 是否相等。&#xff08;⽐较&#xff09; 如果…

【A-013】基于SSH的共享单车管理系统/共享单车出租系统

【A-013】基于SSH的共享单车管理系统/共享单车出租系统 开发环境&#xff1a; Eclipse/MyEclipse、Tomcat8、Jdk1.8 数据库&#xff1a; MySQL 适用于&#xff1a; 课程设计&#xff0c;毕业设计&#xff0c;学习等等 系统介绍&#xff1a; 基于SSH开发的共享单车管理系统/…

python mysql错误如何处理

错误代码类型&#xff1a;pymysql.err.InternalError: (1054, "Unknown column jack in field list") import pymysql d_mysql {host: 127.0.0.1, port: 33333,user: *****,password: *****,db: *****,charset: utf8} conn pymysql.connect(**d_mysql) cur co…

Latex自学以及安装使用教程

你就按部就班的来&#xff0c;准没问题。 Step1&#xff1a;下载Tex live和Tex studio&#xff0c;安装教程参考自&#xff1a;LaTeX的安装教程&#xff08;Texlive 2020 TeX studio&#xff09; Step2: (非必要&#xff09;vscodeLatex&#xff0c;参考自:使用VSCode编写LaTe…

基于OrangePi Zero2的智能家居项目(开发阶段)

智能家居项目的软件实现 紧接上文 基于OrangePi Zero2的智能家居项目&#xff08;准备阶段&#xff09;-CSDN博客 目录 一、项目整体设计 1.1项目整体设计 1.2具体划分 二、开发工作的前期准备 1、进行分类&#xff0c;并用Makefile文件进行管理 参考&#xff1a;自己创…

条形图、柱状图的绘制方法

【题目描述】 用*号输出柱状图。第一行输入一个整数n表示数据个数&#xff0c;第二行输入n个整数&#xff0c;用空格隔开。n和输入的数都不超过20。 【样例输入】 7 5 1 1 8 1 1 5 【样例输出】 1&#xff0e;条形图&#xff08;水平柱状图&#xff09; 样例中的柱状图属…

C++刷题篇——06整理扑克牌

一、题目 二、解题思路 特别注意多组三张两张组合的情况 具体思路的见代码注释部分 三、代码 #include<iostream> #include<vector> #include<string> #include<map> #include<algorithm>using namespace std;vector<int>split(string p…

2-Prometheus监控主机

文章目录 1 介绍2 部署2.1 下载2.2 解压到指定目录2.3 配置进程管理2.4 程序启动参数2.5 启动和监听 3 添加到 Prometheus4. 指标4.1 通过页面查看指标数据4.2 查看都有哪些指标4.3 指标数据规范 5 程序运行参数 1 介绍 Prometheus 使用 node_exporter 服务程序监控 Linux 主机…

【前端面试3+1】07vue2和vue3的区别、vue3响应原理及为什么使用proxy、vue的生命周期中在什么时期给接口发请求、【找出数组最大公约数】

一、vue2和vue3的区别 1.性能优化&#xff1a; Vue 3在性能方面有很大的提升&#xff0c;主要是通过虚拟DOM的优化和响应式系统的改进实现的。 虚拟 DOM 重构&#xff1a;Vue 3 中对虚拟 DOM 进行了重构&#xff0c;使得更新算法更加高效&#xff0c;减少了更新时的开销&#x…

LCX端口转发

LCX介绍 LCX是一款端口转发工具&#xff0c;分为Windows版和Linux版&#xff0c;Linux版本为PortMap。LCX有端口映射和端口转发两大功能&#xff0c;例如当目标的3389端口只对内开放而不对外开放时&#xff0c;可以使用端口映射将3389端口映射到目标的其他端口使用&#xff1b…