Python小白的自学笔记第二天

主要是turtle画图,还有一些别的东西

turtle库(海龟)画图法

使用turtle库时import turtle即可
函数一览

turtle.setup(width, height, startx, starty)
turtle.goto(x坐标, y坐标)
turtle.fd(d)
turtle.bk(d)
turtle.circle(r,angle)
turtle.seth(angle)
turtle.left(angle)
turtle.right(angle)
turtle.penup()
turtle.pendown()
turtle.pensize(width)
turtle.pencolor(color)
turtle.colormode(mode)

turtle.setup(width, height, startx, starty)设置窗体的位置和大小

相对于桌面的起始点的坐标以及窗口的宽度高度,startx与starty可省略,若省略,则窗口默认在桌面的正中心,窗体(海龟)的坐标原点默认在窗口的中心,头朝右。
width, height, startx, starty的单位全是像素,电脑左上角是(0.0)

绝对坐标

turtle.goto(x, y) 让海龟去某位置

从当前位置以一条直线去某一位置

海龟坐标

turtle.fd(d) forward

指沿着海龟的前方向运行,变量是长度,单位为像素,不能省略,可以为负数

turtle.bk(d)

指沿着海龟的反方向运行,变量是长度,单位为像素,不能省略,可以为负数

turtle.circle(r,angle)

指沿着海龟左侧的某一点做圆周运动,r为半径,单位为像素,angle为角度,正负360度内都可以半径可以为负数,表示以右侧某一点做圆周运动
angle省略时,表示画一整个圆

绝对角度

Python小白的自学笔记第二天_第1张图片

turtle.seth(angle)

让海龟转向上图绝对角度中的角度,注意该操作只改变海龟头的方向,相当于“向左转,向右转”类似的命令,不行进,angle为绝对角度

海龟角度

turtle.left(angle)

以当前海龟的方向,向左改变多少角度

turtle.right(angle)

以当前海龟的方向,向右改变多少角度

RGB色彩体系

使用0-255的整数或0-1的小数表示颜色
默认使用0-1的小数,若要改变可使用turtle.colormode()括号中为1.0或255,若用1.0,则全部使用小数形式表达,若用255,则用整数形式表达

常用RGB色彩
Python小白的自学笔记第二天_第2张图片

画笔控制函数

turtle.penup()

抬起画笔,可以移动

turtle.pendown()

放下画笔,开始画画

turtle.pensize(width)

笔的粗细程度,单位是像素

turtle.pencolor(color)

笔的颜色,color参数有三种写法

  1. 使用颜色单词的字符串,如"red" "yellow"等
  2. 使用rgb值turtle.pencolor(r,g,b)
  3. 使用rgb值的元组turtle.pencolor((r,g,b))

浮点数的bug

print(0.1+0.1)

得到0.2

print(0.1+0.1+0.1)

得到
在这里插入图片描述
所有支持浮点数运算的编程语言都会遇到(顺便表示我的C果然白给),这是由于浮点数十进制转化为二进制不会精确地等于原本数字,十进制的 0.1,转化为二进制是:0.0001100110011001100110011001100110011001100110011…(我不知道为什么……)
然后因为计算机储存位数有限制,所以得到这个结果

四舍五入函数 round()

round( x , n) x,n均为数值表达式

x为需要四舍五入的数字,n为要保留的位数,不写n默认保留到整数位

print "round(80.23456, 2) : ", round(80.23456, 2)
print "round(100.000056, 3) : ", round(100.000056, 3)
print "round(-100.000056, 3) : ", round(-100.000056, 3)

得到结果为

round(80.23456, 2) :  80.23
round(100.000056, 3) :  100.0
round(-100.000056, 3) :  -100.0

round函数的结果同样受上述bug与python版本影响,具体链接可以看http://www.runoob.com/w3cnote/python-round-func-note.html

绝对值函数 abs()

abs(x) x为一个数

没什么好说的,就求绝对值

与C不同的赋值

a,b= 4,5

居然是可以的……
a会被赋值为4,b会被赋值为5

还有这个让我傻掉的交换
a,b已经分别有值,交换a和b

b,a=a,b

居然就完事了……

还有这样的赋值

a=6,6

a会被赋值为(6,6)
用type函数显示其为tuple(元组,与列表list相似但有区分)这好像是个大坑

你可能感兴趣的:(Python小白的自学笔记第二天)