以下是搜索内容: 关闭

  • 首页
  • 日志
  • 友情链接
  • 关于我

KoiNL.

愿世间美好 温柔以待

“锦鲤握运,未离我韵”

“愿好运常在”

18 分类
0 标签
16 归档
  • 小站首页
  • 个人日志
  • 友情链接
  • 关于自己
  • 我的工具
站点信息

文章数目: 84 篇

最近动态: 2天前

上线时间: 531天

当前版本: v3.0.0

第某章 turtle 库

分类: Python
标签:

创建日期:2022-05-11 08:40:37

点击显/隐函数的定义与调用

首先, 熟悉几个辅助操作 (美化效果, 非必要):

  • setup(800, 350, 200, 200) 窗口宽度, 窗口高度, 若值小数, 表示比例; 窗口与屏幕的左侧距离, 窗口与屏幕顶部的距离, 若值 None, 位于中央
  • penup(); fd(-300) 画笔在中央, 向左移动一些距离更美观
  • hideturtle(); done() 隐藏画笔的形状且不自动关闭
  • pensize(5) 含义为画笔尺寸为 5.
  • pencolor("red") 含义为画笔颜色为红色.
  • speed(0) 控制绘制速度
操作函数与方法 别名 描述
pendown(), penup() pd(), pu(); down(), up() 画笔落下,画笔抬起
forword() fd() 画笔前进一段距离
left(), right 画笔旋转
setup() 窗宽, 窗高, 与屏左距离, 屏顶距离
hideturtle() 结束绘制隐藏画笔
done() 结束不自动关闭
点击显/隐函数的定义与调用

turtle.fd(distance) 沿当前画笔方向画distance的距离
turtle.bk(distance) 沿当前画笔相反方向画distance的距离
turtle.right(degree) 画笔沿顺时针旋转degree度
turtle.left(degree) 画笔沿逆时针旋转degree度
turtle.seth(d)
t.goto(x0,y0)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from turtle import *
def drawLine(Bool): #绘制单段数码管
pd() if Bool else pu() # 落下画笔 如果 画 否则 抬起画笔, 全名 pendown() 与 penup(), 别名 down() 与 up()
fd(40) # 画笔前进一个距离, 别名 forward(), 负数表示相反距离前进, 亦可用 backward() 表示
right(90) # 画笔向右旋转90度
def drawDigit(i): #根据数字绘制七段数码管
drawLine(True) if i in [2,3,4,5,6,8,9] else drawLine(False)
drawLine(True) if i in [0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if i in [0,2,3,5,6,8,9] else drawLine(False)
drawLine(True) if i in [0,2,6,8] else drawLine(False)
left(90)
drawLine(True) if i in [0,4,5,6,8,9] else drawLine(False)
drawLine(True) if i in [0,2,3,5,6,7,8,9] else drawLine(False)
drawLine(True) if i in [0,1,2,3,4,7,8,9] else drawLine(False)
left(180) # 向左旋转180度
pu(); fd(20) # 画笔前进20步 = 每个数字间留有空隙

def drawDate(date): #获得要输出的数字
for i in date:
drawDigit(eval(i)) #注意: 通过eval()函数将数字变为整数
if __name__ == "__main__":
pu(); fd(-300) # 画笔在中央, 向左移动一些距离更美观
drawDate('20020930')
hideturtle(); done()
点击显/隐函数的定义与调用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from turtle import *; from datetime import *
def drawLine(draw): #绘制单段数码管
penup(); fd(5) # 给每个数码管之间空下小隙
pendown() if draw else penup() # 落下画笔 如果 画 否则 抬起画笔, 别名 pd() 与 pu(), 或者 down() 与 up()
fd(40) # 画笔前进一个距离, 别名 forward(), 负数表示相反距离前进
penup(); fd(5)
right(90) # 画笔向右旋转90度
def drawDigit(i): #根据数字绘制七段数码管
drawLine(True) if i in [2,3,4,5,6,8,9] else drawLine(False)
drawLine(True) if i in [0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if i in [0,2,3,5,6,8,9] else drawLine(False)
drawLine(True) if i in [0,2,6,8] else drawLine(False)
left(90)
drawLine(True) if i in [0,4,5,6,8,9] else drawLine(False)
drawLine(True) if i in [0,2,3,5,6,7,8,9] else drawLine(False)
drawLine(True) if i in [0,1,2,3,4,7,8,9] else drawLine(False)
left(180); penup(); fd(20)
def drawDate(date): #获得要输出的数字
for i in date:
if i == '-':
write('年', font=("Arial", 18, "normal")); fd(40)
elif i == '=':
write('月', font=("Arial", 18, "normal")); fd(40)
elif i == '+':
write('日', font=("Arial", 18, "normal"))
else:
drawDigit(eval(i))
if __name__ == "__main__":
setup(800, 350, 200, 200) # 窗口宽度, 窗口高度, 若值小数, 表示比例; 窗口与屏幕的左侧距离, 窗口与屏幕顶部的距离, 若值 None, 位于中央
penup(); fd(-300) # 画笔在中央, 向左移动一些距离更美观
pensize(5) # 画笔尺寸, 别名 width()
drawDate(datetime.now().strftime('%Y-%m=%d+'))
hideturtle(); done()
点击显/隐函数的定义与调用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from turtle import *


def koch(size, n):
if n == 0:
fd(size)
else:
for angle in [0, 60, -120, 60]:
left(angle)
koch(size/3, n-1)


if __name__ == "__main__":
setup(800, 400)
speed(0) # 控制绘制速度
penup(); goto(-300, -50) # 抬起画笔, 向左 300, 向下 50; 与 fd() 区别是 fd() 只能一个参数
pendown(); koch(600,2) # 0阶科赫曲线长度大小,阶数
hideturtle(); done()
点击显/隐函数的定义与调用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from turtle import *


def koch(size, n):
if n == 0:
fd(size)
else:
for angle in [0, 60, -120, 60]:
left(angle)
koch(size/3, n-1)


if __name__ == "__main__":
speed(0) # 控制绘制速度
penup(); goto(-300, -50) # 抬起画笔, 向左 300, 向下 50; 与 fd() 区别是 fd() 只能一个参数
pendown()
for i in range(3):
koch(400, 3)
for i in range(2):
right(60)

hideturtle(); done()

4. jieba 库

中文分词库,第三方库需要安装。

常用的函数有两个,“cut(s, [cut_all=True])” 与 “cut_for_search(s)”,分别为精确 [全] 模式与搜索引擎模式。

但使用 cut 直接输出得到的结果是内存地址,因此使用 lcut[_for_search](s) 会好很多。其本质可见代码第 5 行。

点击显/隐代码
1
2
3
4
5
6
7
8
9
10
from jieba import *
setLogLevel(logging.INFO) # 不添加这个可正常运行但有报错:Building prefix dict from the default dictionary ...
print(lcut("锦鲤未离在中华人民共和国")) # ['锦鲤', '未离', '在', '中华人民共和国']
print(cut("锦鲤未离在中华人民共和国")) # <generator object Tokenizer.cut at 0x0000022ED167CF48>
print(list(cut("锦鲤未离在中华人民共和国"))) # lcut()=list(cut())# ['锦鲤未离', '在', '中华人民共和国']
print(lcut("锦鲤未离在中华人民共和国", cut_all=True)) # 全模式, ['锦鲤', '未', '离', '在', '中华', '中华人民', '中华人民共和国', '华人', '人民', '人民共和国', '共和', '共和国']
print(lcut_for_search("锦鲤未离在中华人民共和国")) # 搜索引擎常用的索引, ['锦鲤', '未离', '在', '中华', '华人', '人民', '共和', '共和国', '中华人民共和国']
add_word("锦鲤未离") # 增加词汇
print(lcut("锦鲤未离在中华人民共和国")) # ['锦鲤未离', '在', '中华人民共和国']

浏览量

评论区

欢迎你留下宝贵的意见,昵称输入QQ号会显示QQ头像哦~

目录

  1. 1. 4. jieba 库

上一篇: 第三章 图

下一篇 ⌊手机篇⌉ 将手机投屏到电脑

公告栏

《 

 》

Hello~近期剽窃本站内容频发,本站唯一指定网站:https://koinl.github.io。请认准。点击点击此处选择进入。
回到顶部
查看评论

Power By Hexo.

Theme:koinl.

信息来源于锦鲤未离