turtle 库.绘图库
#使用 import 保留字对turtle 库引用有如下三种方法:
以画直径为200的圆为例
import turtle
turtle.circle(200)
from turtle import*
circle(200)
import turtle as t #保留字as 的作用是将turtle 库给予别名t
t.circle(200)
#窗体函数
turtle.setup(width,height,startx,starty)
作用:设置主窗体的大小和位置参数
- width:窗口宽度,如果值是整数,表示像素值,如果值是小数,表示窗口宽度与屏幕的比例
- height:窗口高度,如果值是整数,表示像素值,如果值是小数,表示窗口高度与屏幕的比例
- startx:窗口左侧与屏幕左侧的像素距离,如果值是None,窗口位于屏幕水平中央
- starty:窗口顶部与屏幕顶部的像素距离,如果值是None,窗口位于屏幕垂直中央
画笔状态函数
函数 | 描述 |
---|---|
pendowm() | 放下画笔 |
penup() | |
pensize(width) | 设置画笔线条为指定粗细大小 |
color() | 设置画笔颜色 |
begin_fill() | 填充图形前,调用该方法 |
end_fill() | 填充图形结束 |
filling() | 返回填充的状态,Ture为填充,False为未填充 |
clear() | 清除当前窗口,但不改变当前画笔位置 |
reset() | 清除当前窗口,并重置位置等状态为默认值 |
screensize() | 设置画布的长与宽 |
画笔的移动
函数 | 描述 |
---|---|
forward() | 沿着当前距离前进指定距离 |
backward() | 沿着当前距离后退指定距离 |
right(angle) | 向右旋转angle角度 |
left(angle) | 向左旋转angle角度 |
goto(x,y) | 移动到绝对座标(x,y)处) |
setx() | 将当前x轴移动到指定位置 |
sety() | 将当前y轴移动到指定位置 |
setheading(angle) | |
home() | 设置当前画笔位置为原点,朝向东 |
circle(radius,e) | 绘制一个指定半径r和角度e的圆或弧形 |
dot(r,color) | 绘制一个指定半径r和颜色color的圆点 |
updo() | 撤销画笔最后一步动作 |
speed() | 设置画笔绘制速度,参数在0-10之间 |
turtle.seth()函数,turtle.setheading(angle):设置当前朝向为angle角度,该角度为绝对方向角度值,绝对方向是与出发方向的偏移,其他位置,可以做与出发点的平行线
画一个三角形为例:
import turtle
for i in range(3):
turtle.seth(i*120)
turtle.fd(100)
#画一个五角星
import turtle
turtle.pensize(5)
turtle.pencolor("green")
turtle.fillcolor ("red")
turtle.begin_fill ()
for i in range(5):
turtle.forward(200)
turtle.right(144)
turtle.end_fill()
#画一个六边形
import turtle
turtle.pensize(3)
turtle.penup()
turtle.goto(34,67)
turtle.pendown()
turtle.color ("red")
turtle.begin_fill ()
turtle.circle(40,steps=6)
turtle.end_fill()
random库.随机库
- 使用random库,主要目的是生成随机数
- 这个库提供了不同类型的随机函数,其中最基本的随机函数是random.random(),它生成的是0-1之间的随机数
>>> from random import*
>>> random()
0.31984313000170117
>>> random()
0.5245132159956171
随机库中常用的函数(利用它可以生成0-1之外的随机数)
函数 | 描述 |
---|---|
seed(a=None) | 初始化随机种子,默认值为 |
randint(a,b) | 生成[a,b] 之间的整数 |
getrandbits(k) | 生成一个k比特长度的随机整数 |
randrange(start,stop[,step]) | 生成一个[start,stop]之间以step为步骤的随机数 |
uniform(a,b) | 生成[a,b]之间的随机小数 |
choice(seq) | 从序列类型(例如:列表)中随机返回一个元素 |
shuffle(seq) | 将序列类型中的元素随机排列,返回打乱后的序列 |
sample(pop,k) | 从pop类型中随机选取k个元素,以列表类型返回 |
#随机生成一个6位数验证码
import random
lis=[]
for i in range(6):
num=random.randrange(0,10)
lis.append(str(num))
s="".join(lis)
print(s)
输出结果为:
596033
注意:
区别:randint 左右闭区间,randrange左闭右开
共性:输出都是整数
#随机生成一个6位验证码,包含数字和字母
import random
lis=[]
for i in range(6):
b=random.randrange(0,10)
if b<5:
num1=random.randrange(65,91)
lis.append(chr(num1))
else:
num=random.randrange(0,10)
lis.append(str(num))
s="".join(lis)
print(s)
输出结果为:
4016M6
注:
random生成一个[0.0,1.0)之间的随机小数
seed 初始化随机种子
randint(a,b)生成[a,b]之间的随机整数