Python绘制七段数码管

标签:
python |
分类: Python |
七段数码管( seven-segment indicator)由 7
段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置
turtle.pendown() if draw
else turtle.penup()
turtle.fd(40)
turtle.right(90)
drawLine(True) if digit
in [2,3,4,5,6,8,9] else drawLine(False)
drawLine(True) if digit
in [0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if digit
in [0,2,3,5,6,8,9] else drawLine(False)
drawLine(True) if digit
in [0,2,6,8] else drawLine(False)
turtle.left(90)
drawLine(True) if digit
in [0,4,5,6,8,9] else drawLine(False)
drawLine(True) if digit
in [0,2,3,5,6,7,8,9] else drawLine(False)
drawLine(True) if digit
in [0,1,2,3,4,7,8,9] else drawLine(False)
turtle.left(180)
turtle.penup()
turtle.fd(20)
for i in date:
drawDigit(eval_r(i)) #注意:
通过eval_r()函数将数字变为整数
turtle.setup(800, 350,
200, 200)
turtle.penup()
turtle.fd(-300)
turtle.pensize(5)
drawDate(datetime.datetime.now().strftime('%Y%m%d'))
turtle.hideturtle()
http://s1/bmiddle/002o29i7zy7a9cnyiTmd0&690
turtle.penup()
turtle.fd(5)
drawGap()
turtle.pendown() if draw
else turtle.penup()
turtle.fd(40)
drawGap()
turtle.right(90)
drawLine(True) if d in
[2,3,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in
[0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in
[0,2,3,5,6,8,9] else drawLine(False)
drawLine(True) if d in
[0,2,6,8] else drawLine(False)
turtle.left(90)
drawLine(True) if d in
[0,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in
[0,2,3,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in
[0,1,2,3,4,7,8,9] else drawLine(False)
turtle.left(180)
turtle.penup()
turtle.fd(20)
turtle.pencolor("red")
for i in date:
if i == '-':
turtle.write('年',font=("Arial", 18, "normal"))
turtle.pencolor("green")
turtle.fd(40)
elif i == '=':
turtle.write('月',font=("Arial", 18, "normal"))
turtle.pencolor("blue")
turtle.fd(40)
elif i == '+':
turtle.write('日',font=("Arial", 18, "normal"))
else:
drawDigit(eval_r(i))
turtle.setup(800, 350,
200, 200)
turtle.penup()
turtle.fd(-350)
turtle.pensize(5)
drawDate(datetime.datetime.now().strftime('%Y-%m=%d+'))
turtle.hideturtle()
采用 turtle 库并使用函数封装绘制七段数码管,显示当前系统日期和时间。
该问题的 IPO 描述如下:
输入:当前日期的数字形式
处理:根据每个数字绘制七段数码管表示
输出:绘制当前日期的七段数码管表示
该问题的 IPO 描述如下:
输入:当前日期的数字形式
处理:根据每个数字绘制七段数码管表示
输出:绘制当前日期的七段数码管表示
#DrawSevenSegDisplay.py
import turtle, datetime
def drawLine(draw): #绘制单段数码管
def drawDigit(digit): #根据数字绘制七段数码管
def drawDate(date): #获得要输出的数字
def main():
main()
http://s1/bmiddle/002o29i7zy7a9cnyiTmd0&690
#DrawSevenSegDisplay.py
import turtle, datetime
def drawGap(): #绘制数码管间隔
def drawLine(draw): #绘制单段数码管
def drawDigit(d): #根据数字绘制七段数码管
def drawDate(date):
def main():
main()
http://s4/bmiddle/002o29i7zy7a9cnAkpB93&690