Python学习笔记—常用库简介

Turtle库:

Turtle库是Python语言中一个很流行的绘制图像的函数库。

常用turtle功能函数:

函数含义
turtle.bgcolor(“red”)设置画面背景颜色
turtle.setup(width = 200,height = 200,startx = 0,starty = 0)设置窗口大小和在屏幕上的坐标
turtle.bgpic(“1.gif”)设置背景图片,只支持gif格式
turtle.onscreenclick(x,y)用户点击屏幕时获得笔的坐标,制作app时响应用户的点击操作
turtle.bye()退出turtle,无任何提示信息
turtle.exitonclick()点击后退出turtle
turtle.done()关闭turtle,一般在使用完turtle后添加,否则会无响应
turtle.Pen()启用画笔
turtle.Pen().color(“cc4455”)画笔颜色设置
turtle.Pen().forward(2)画笔前进长度,以像素为单位
turlte.Pen().backward(2)画笔后退长度
turtle.Pen().home()画笔初始位置
turtle.Pen().left(90)画笔向左转
turtle.Pen().right(90)画笔向右转
turtule.width(3)设置画笔宽度,以像素为单位
t = turtle.Pen()让t代表turtle.Pen(),简化代码
t.penup()抬起笔,停止写
t.pendown()放下笔,开始写
t.write(“Python”,font=(“Arial”,”23”,”bold”))写指定内容“Python”,并设置字体,字号,加粗
t.circle(4)以参数为半径画圆
t.dot(4)以参数为直径画点
t.postion()笔的坐标
t.heading()笔的朝向
t.setx(position[0])设置笔的x坐标为position记录的x坐标,position由position = t.position()获得
t.sety(Position[1])设置笔的y坐标
t.setheading(30)设置笔的朝向,画笔默认向右为正方向
t.setpos(x,y)设置笔的坐标
t.fillcolor(“red”)设置填充颜色
t.begin_fill()开始填充
t.circle(5)画圆填充
t.end_find()填充结束
t.goto(x,y)笔移动到坐标(x,y)
t.speed(1)笔的移动速冻,参考范围0.5-10,范围之外为0,最快,不设置为最慢
t.hideturtle()/t.showturtle()隐藏画笔/显示画笔
t.reset()删除画的内容,还原画笔参数初始值
t.clear()删除画的内容,不修改画笔参数

蟒蛇绘制实例:

程序代码:

import turtle

def drawSnake(rad, angle, len, neckrad):
    for i in range(len):
        turtle.circle(rad, angle)
        turtle.circle(-rad, angle)
    turtle.circle(rad, angle/2)
    turtle.fd(rad)
    turtle.circle(neckrad+1, 180)
    turtle.fd(rad*2/3)

def main():
    turtle.setup(1300, 800, 0, 0)
    pythonsize = 30
    turtle.pensize(pythonsize)
    turtle.pencolor("blue")
    turtle.seth(-40)
    drawSnake(40, 80, 5, pythonsize/2)

main()

turtle.pensize()函数表示小乌龟运动轨迹的宽度。它包含一个输入参数,这里我们把它设为30像素,用pythonsize变量表示。

turtle.pencolor()函数表示小乌龟运动轨迹的颜色。

turtle.seth(angle)函数表示小乌龟启动时运动的方向。他包含一个输入参数,是角度值。其中,0表示向东,90度向北,180度向西,270度向南。负值表示相反的方向。

main()函数给出了小乌龟爬行的窗体大小,爬行轨迹颜色和宽度以及初始爬行的方位。

turtle.circle()函数让小乌龟沿着一个圆形爬行。参数rad描述圆形轨迹半径的位置。

参数angle表示小乌龟沿着圆形爬行的弧度值。

turtle.fd()函数表示乌龟向前直线爬行移动。

程序运行结果:

蛇

图: 程序运行结果图

math库:

math库中常用的数学函数:

函数含义
圆周率pi∏的近似值,15位小数
自然数ee的近似值,15位小数
ceil(x)对浮点数向上取整
floor(x)对浮点数向下取整
pow(x,y)计算x的y次方
log(x)以e为基的对数
log10(x)以10为基的对数
sqrt(x)平方根
exp(x)e的x次幂
degress(x)将弧度值转换成角度
radians(x)将角度值转换位弧度值
sin(x)正弦函数
cos(x)余弦函数
tan(x)正切函数
asin(x)反正弦函数
acos(x)反余弦函数
atan(x)反正切函数

random库:

random库为随机数库。

random库中常用的函数:

函数含义
seed(x)给随机数一个种子值,默认随机种子是系统时钟
random()生成一个[0,1.0)之间的随机小数
uniform(a,b)生成一个a到b之间的随机小数
randint(a,b)生成一个a到b之间的随机整数
randrange(a,b,c)随机生成一个从a到b以c递增的数
choice(< lsit >)从列表中随机返回一个元素
shuffle(< list > )键列表中的元素随机打乱
sample(< list >, k)从指定列表随机获取k个元素

随机数库及其使用:

  • 因为计算机是一个确定设备,不能生成真正的随机数。所以一个,由计算机产生的随机数都是由一个种子开始的伪随机序列。
  • 相同的随机种子,产生相同的伪随机序列,也有利于程序的执行验证。

示例:

>>> from random import *
>>> seed(10)
>>> random() #生成随机数
0.5714025946899135
>>> uniform(1,10)  #生成1-10的随机小数
4.860001492076032
>>> randint(1,10) #生成1-10的随机整数
10
>>> randrange(1,10,2)  #生成从1开始到10以2递增的数
1
>>> randrange(1,10,2)
3
>>> vlist = [1,2,3,4,5]
>>> choice(vlist)  #从列表中随机返回一个元素
4
>>> shuffle(vlist)  #将列表中元素随机打乱
>>> vlist
[2, 1, 5, 3, 4]
>>> sample(vlist,2)  #随机获取列表中2个元素
[2, 3]
>>> 

math库与random库的使用实例:

圆周率π的计算:

圆周率π是一个无理数,没有任何一个精确公式能够计算,π的计算只能采用近似法。

国际公认的PI值计算采用蒙特卡洛方法。又称为随机抽样或统计实验方法。

应用蒙特卡洛方法:首先构造一个单位正方形和1/4圆。

随机向单位正方形和圆结构抛洒大量点,对于每个点,可能在圆内或者圆外,当随机抛点数量达到一定程度,圆内点将构成圆的面积,全部抛点将构成矩形面积。圆
内点数除以圆外点数就是面积之比,即π/4。随机点数越大,得到的π值越精确。

π计算问题的IPO表示如下:

  • 输入:抛点的数量
  • 处理:对于每个抛洒点,计算点到圆心的距离,通过距离判断该点在圆内或是圆外。统计在圆内点的数量
  • 输出:π值

程序代码如下:

#pi.py
from random import random
from math import sqrt
from time import clock
DARTS = 12000000 #定义投掷的数量
hits = 0  #用来存放投到圆内得数量
clock()  #获取程序开始时的时间
for i in range(1,DARTS):  #模拟循环进行投掷
    x, y = random(), random()  #获得随机坐标
    dist = sqrt(x**2 + y**2)   #点到原点的距离
    if dist <= 1.0:    #如果距离<=1,hits加1
        hits = hits + 1
pi = 4 * (hits/DARTS)  
print("Pi的值是%s"% pi)
print("程序运行的时间是 %-5.5ss" % clock())


#程序执行结果:
#===================== RESTART: D:/我的文件/Python程序/π的计算.py =====================
Pi的值是3.1420456666666667
程序运行的时间是 13.67s
>>> 
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页