pythonで作成した7つのデジタルチューブを使用して描画


文書ディレクトリ
  • 1.プログラムセグメント解析
  • 1.1.セグメントごとのデジタルチューブの間隔を
  • に設定する.
  • 1.2.単一セグメントデジタルチューブ
  • を描画する
  • 1.3.デジタルに基づいて7段のデジタルチューブ
  • を描画する
  • 2.完全なコードpy

  • 本論文はpython学習における7セグメントのデジタルチューブ描画の一例を記録することを目的とする.
    1.プログラムセグメント解析
    1.1.セグメントごとのデジタルチューブの間隔を設定
    def drawGap():
    	turtle.penup()
    	turtle.fd(5)	#    LED  
    

    1.2.単一セグメントのデジタルチューブを描画するには
    def drawLine(draw):		#       
    	drawGap()
    	turtle.pendown() if draw else turtle.penup()
    	turtle.fd(40)		#    LED  
    	drawGap()
    	turtle.right(90)
    

    1.3.数字に基づいて7段のデジタルチューブを描画
    def drawDigit(digit):	#           
    	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)
    

    2.完全なコードpy
    
    #             .py
    import turtle, time
    
    def drawGap():
    	turtle.penup()
    	turtle.fd(5)	#    LED  
    
    def drawLine(draw):		#       
    	drawGap()
    	turtle.pendown() if draw else turtle.penup()
    	turtle.fd(40)		#    LED  
    	drawGap()
    	turtle.right(90)
    
    def drawDigit(digit):	#           
    	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)
    
    def drawDate(date):
    	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(i))
    
    def main():
    	turtle.setup(800,350,200,200)
    	turtle.penup()
    	turtle.fd(-300)
    	turtle.pensize(5)
    	drawDate(time.strftime('%Y-%m=%d+',time.gmtime()))	#         
    	turtle.hideturtle()
    	turtle.done()
    
    main()