python学习入门,用七段数码管显示日期
在线制作工具
#用七段数码管显示日期
import turtle as t
def drawLine(draw): #绘制单个数码管
t.pendown() if draw else
t.penup()
t.fd(50)
t.rt(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)
t.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] else drawLine(False)
drawLine(True) if digit
in [0,1,2,3,4,7,8,9] else drawLine(False)
t.lt(180)
t.penup()
t.fd(20)
def drawDate(date): #通过eval()将数字转整数
for i in date:
drawDigit(eval(i))
def main():
t.setup(800,350,200,200)
t.penup()
t.fd(-300)
t.pensize(5)
drawDate('20230515')
t.hideturtle()
t.done()
main()
运行结果如下:
修改成数码管的样子如下(红字为修改内容):
#用七段数码管显示日期
import turtle as t
def drawLine(draw): #绘制单个数码管
t.penup()
t.fd(5)
t.pendown() if draw else
t.penup()
t.fd(50)
t.penup()
t.fd(5)
t.rt(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)
t.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] else drawLine(False)
drawLine(True) if digit
in [0,1,2,3,4,7,8,9] else drawLine(False)
t.lt(180)
t.penup()
t.fd(20)
def drawDate(date): #通过eval()将数字转整数
for i in date:
drawDigit(eval(i))
def main():
t.setup(800,350,200,200)
t.penup()
t.fd(-300)
t.pensize(5)
drawDate('20230515')
t.hideturtle()
t.done()
main()
修改成彩色数码管,显示的是当前日期,修改如下(红字为修改内容):
#用七段数码管显示日期
import turtle as t
import random
import datetime
t.colormode(255)
t.speed("fastest")
def drawLine(draw): #绘制单个数码管
t.penup()
t.fd(5)
t.pendown() if draw else
t.penup()
t.fd(50)
t.penup()
t.fd(5)
t.rt(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)
t.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] else drawLine(False)
drawLine(True) if digit
in [0,1,2,3,4,7,8,9] else drawLine(False)
t.lt(180)
t.penup()
t.fd(20)
def drawDate(date): #通过eval()将数字转整数
for i in date:
r=random.randint(0,255)
g=random.randint(0,255)
b=random.randint(0,255)
t.pencolor(r,g,b)
drawDigit(eval(i))
def main():
#t.setup(800,350,200,200)
t.penup()
t.fd(-300)
t.pensize(5)
current_day=datetime.date.today()
today_string = current_day.strftime('%Y%m%d')
drawDate(today_string)
t.hideturtle()
t.done()
main()
如何正确给手机充电?原来我们都做错了,正确方式能延长手机寿命
站长网2023-07-29 17:06:450000同样是支付,为什么大家更喜欢用微信而不是支付宝?真相来了
站长网2023-07-28 16:11:420000怪不得手机wifi经常断网,原来是手机的2个设置没打开,涨知识了
站长网2023-07-27 11:06:110000手机的监听开关要关闭,不然你看过什么,手机就向你推荐什么
站长网2023-07-29 08:31:330000SUBTOTAL,Excel中最强大的动态序号函数,没有之一
VIP学员的问题,序号下拉的时候无法递增是怎么回事?1.筛选状态遇到这种情况,大多数是在筛选状态,输入数字1,下拉全是1。筛选状态,需要借助公式,才能填充序号。SUBTOTAL第一参数3代表计数,9代表求和,这2个是最常用的。=SUBTOTAL(3,B$3:B3)*1这个公式结合表格,还有神奇的作用,获取动态序号。在没有筛选的状态下,选择A1,插入表格,确定。输入公式,回车。站长网2023-07-28 17:30:540000