Pythonドラフトデジタルチューブ現在時刻表示
2582 ワード
Pythonのturtleグラフィックスライブラリを使用して7つのデジタルチューブを描画し、現在の時間を表示します.
コード#コード#
結果
まとめ
moocネットワークで関連知識を学び、関連コードを参考にして、最終的に今回の設計を実現します.
コード#コード#
# coding:utf-8
# ,
import time
import turtle as tt
#
def drawGap():
tt.penup()
tt.fd(5)
#
def drawLine(draw):
drawGap()
if(draw):
tt.pendown()
else:
tt.penup()
tt.fd(50)
drawGap()
tt.right(90)
#
def drawDate(date):
tt.pencolor("red")
for i in date:
if i == '+':
tt.write(" ", font = (" ", 25, "normal"))
tt.pencolor("green")
tt.fd(50)
elif i == '-':
tt.write(" ", font=(" ", 25, "normal"))
tt.pencolor("blue")
tt.fd(50)
elif i == '*':
tt.write(" ", font=(" ", 25, "normal"))
tt.pencolor("purple")
tt.fd(50)
elif i == '=':
tt.write(" ", font=(" ", 25, "normal"))
tt.pencolor("yellow")
tt.fd(50)
elif i == '#':
tt.write(" ", font=(" ", 25, "normal"))
tt.pencolor("black")
tt.fd(50)
elif i == '$':
tt.write(" ", font=(" ", 25, "normal"))
else:
drawDigit(eval(i))
#
def drawDigit(cur_time):
if cur_time in [2, 3, 4, 5, 6, 8, 9]:
drawLine(True)
else:
drawLine(False)
if cur_time in [0, 1, 3, 4, 5, 6, 7, 8, 9]:
drawLine(True)
else:
drawLine(False)
if cur_time in [0, 2, 3, 5, 6, 8, 9]:
drawLine(True)
else:
drawLine(False)
if cur_time in [0, 2, 6, 8]:
drawLine(True)
else:
drawLine(False)
tt.left(90)
if cur_time in [0, 4, 5, 6, 8, 9]:
drawLine(True)
else:
drawLine(False)
if cur_time in [0, 2, 3, 5, 6, 7, 8, 9]:
drawLine(True)
else:
drawLine(False)
if cur_time in [0, 1, 2, 3, 4, 7, 8, 9]:
drawLine(True)
else:
drawLine(False)
tt.left(180)
tt.penup()
tt.fd(20)
#
def main():
tt.setup(1600, 300, 200, 200)
tt.penup()
tt.fd(-730)
tt.pensize(5)
drawDate(time.strftime('%Y+%m-%d*%H=%M#%S$', time.localtime()))
tt.hideturtle()
tt.done()
if __name__ == "__main__":
main()
結果
まとめ
moocネットワークで関連知識を学び、関連コードを参考にして、最終的に今回の設計を実現します.