代码如下
#ecoding=utf-8
from datetime import *
from turtle import *
def drawGrp():
penup()
fd(5)
def drawline(a):
drawGrp()
pendown() if a else penup()
fd(40)
right(90)
def drawDigit(d):
drawline(True) if d in [2,3,4,5,6,8,9] else drawline(False)
drawline(True) if d in [1,3,4,5,6,7,8,9,0] else drawline(False)
drawline(True) if d in [2,3,5,6,8,9,0] else drawline(False)
drawline(True) if d in [2,6,8,0] else drawline(False)
left(90)
drawline(True) if d in [4,5,6,8,9,0] else drawline(False)
drawline(True) if d in [2,3,5,6,7,8,9,0] else drawline(False)
drawline(True) if d in [1,2,3,4,7,8,9,0] else drawline(False)
right(180)
penup()
fd(20)
def drawDate(date):
for i in date:
if i == '-':
write('年',font=("Arial",18,"normal"))
pencolor("green")
fd(40)
elif i == '=':
pencolor("blac")
write('月', font=("Arial", 18, "normal"))
pencolor("blue")
fd(40)
elif i == '+':
write('日', font=("Arial", 18, "normal"))
else:
drawDigit(eval(i))
def main():
setup(800,350,200,200)
penup()
fd(-300)
pensize(5)
drawDate(datetime.now().strftime("%Y-%m=%d+"))
hideturtle()
main()
解释:需要datetime库(获取当前时间),turtle用于绘制过程。主要练习了turtle的几种方法的使用。以及对程序整体流程的体验。
主要知识点如下:
- if 的简单写法
1.常规
if a>b:
c = a
else:
c = b
2.表达式
c = a if a>b else b
- turtle库的方法
1.penup()#抬起画笔
2.fd(n)#前进n个位置
3.right()#画笔右转
4.pencolor()#画笔颜色
5.write('年',font=('Arial',18,'normal'))#字体、大小、类型
6.pensizi()#画笔粗细
7.setup(800,350,200,200)#画板大小
- datetime库用法
datetime.now().strftime("%Y-%m=%d+")
.now()方法获取当前日期
.strftime('%Y%m%d')是格式化方法
得到例如:20170901