学习记录_py_date
来源:互联网 发布:2016网络伤感歌曲大全 编辑:程序博客网 时间:2024/06/08 01:14
import turtle as t#把turtle简化为timport datetime as dt#把datatime简化为dt,实时的时间def drawSide(toDraw, x, y, angle, length, span):#定义toDraw,x坐标,y坐标,角度,长度,空的长度,开始画, t.pu()#没有找到pu,这个啥意思?我理了下思路,这个意思,对应def drawLed的t.color(color),大概是着色的意思,大概为0%,还有一种大概也是40%,意思是lines[]这个对应的是0还是1,还是感觉不对,想来想去,还是赋值的意思 t.goto(x,y)#到x,y的坐标 t.seth(angle)#初始角度 t.fd(span)#前进空的长度 if toDraw:#判断字典里数字里的数组是1还是0,1是True,执行,0跳过 t.pd()#画一横或竖? t.fd(length)#向前的长度 t.pu()#循环判断?总感觉哪里不对,我猜意思是上面的数组了事后,这个数组继续?可是我没看到循环条件啊?,我把这个删掉后,2只出现了上面一横,这个还真是循环,大概是最开头的def控制着循环,大概为60% t.fd(span)#向前空长度def drawLed(lines, x, y, length, span, color):#定义长度,坐标,span,颜色, t.color(color)#颜色 step = length + span * 2;#线的长度+日字横与竖之间的空格距离×2 drawSide(lines[0], x, y, 0, length, span)#日字上面一横,X的坐标,y的坐标,0度,长度,空长 drawSide(lines[1], x + step, 0, -90, length, span)#日字上右那一竖,数组第二个,x+step的坐标,纵坐标是0.角度向下270度,长度,空长 drawSide(lines[2], x + step, y-step, -90, length, span)#日字右下一竖,x+step的坐标,y-step的坐标,-90度,长度,空长 drawSide(lines[3], x + step, y-step*2, 180, length, span)#日字底下一横,x坐标,y坐标,180度,长,空 drawSide(lines[4], x, y - step*2, 90, length, span)#日字左下一竖,x坐标,y坐标,90度,长,空 drawSide(lines[5], x, y - step, 90, length, span)#日字左上一竖,x坐标,y坐标,90度,长,空 drawSide(lines[6], x, y - step, 0, length, span)#日字中间那一横,意思是画的地方是数组第六个,x的坐标,y减去step的坐标,0度,长度,空的长度def main():#主体 dict={#画的东西 "0":[1, 1, 1, 1, 1, 1, 0],#0的画法 "1":[0, 1, 1, 0, 0, 0, 0],#1的画法 "2":[1, 1, 0, 1, 1, 0, 1],#2的画法 "3":[1, 1, 1, 1, 0, 0, 1],#3的画法 "4":[0, 1, 1, 0, 0, 1, 1],#4的画法 "5":[1, 0, 1, 1, 0, 1, 1],#5的画法 "6":[1, 0, 1, 1, 1, 1, 1],#6的画法 "7":[1, 1, 1, 0, 0, 0, 0],#7的画法 "8":[1, 1, 1, 1, 1, 1, 1],#8的画法 "9":[1, 1, 1, 0 ,0, 1, 1]#9的画法 } t.hideturtle()#隐藏箭头 t.speed(1)#速度为1 x,y = 0,0#初始坐标 str = dt.datetime.now().strftime("%Y")#拿出本地电脑的时间年 for c in str:#不知道c的意思,这句话的意思是从本地时间年的字符串传递给c,比如今年2017年,开始的数字是2传递给c drawLed(dict[c], x, y, 20, 2, "red")#dictionary查找c,在上面的def main 中,我们创建了个字典,从中找需要的数序的画法,x,y的坐标,线的长短,线与线之间空的长短 x += 30#x累加30,两个数字之间的距离是30 str = dt.datetime.now().strftime("%m")#拿出本地电脑时间月 for c in str:# drawLed(dict[c], x, y, 20, 2, "blue")# x += 30#累加30,两个数字之间的距离是30 str = dt.datetime.now().strftime("%d")#拿出本地时间日 for c in str:# drawLed(dict[c], x, y, 20, 2, "green")# x += 30#累加30,两个数字之间的距离是30main()#时间有点晚了,先这样了,大致能明白了,明天再仔细修改和完善###没有完全弄懂代码,大致的思路是这样的,先设置好初始数值,然后从电脑里拿出本地时间,先拿年,年的第一个数字赋予C,从设定好的字典里找出这个数字,比如今年是2017,那就是找出2:[1, 1, 0, 1, 1, 0, 1],#数组里的每个数字对应def drawLed中的drawSide[0]到[6]7个数字,如果字典里的2里的数组是1,那么画,是0,就过,画1对应的drawSide,然后继续赋值2这数字里数组的1或者0,然后继续,我总觉的我漏了什么,先这样吧,我以后再想想
阅读全文