python数码管显示日期_Python小实践——实现系统当前时间的七段数码管的显示

Hello,大家好,今年这个暑假大家全国各地时不时还爆发着疫情,也不敢出去玩,呆在家里就是surfing the Internet。鉴于大一刚刚结束,上课期间也学习了C语言,就想着暑假自学Python,这也就是题图上的那个小代码的诞生历程。y1s1,这个看上去是不是有点炫酷的亚子。

狠人话不多,先上一个动态的视频,看看效果~知乎视频​www.zhihu.com

是不是挺好玩的呀~(不要你觉得,我觉得好玩就行♪(^∀^●)ノ

咳咳~言归正传,现在就来讲一波这个代码的实现过程吧

在开始写代码之前,我们要先来分析一下这个问题需要用到的知识,当思路清晰之后,我们再去写代码,可以做到事半功倍的效果。

我们可以把这个工作分成两个大的模块:为了能在屏幕中画出来数码管的形式,我们需要引入绘图标准库——turtle库

在实现绘图功能之后,我们还需要能够获得系统的时间

我们接下来写代码就从这两方面下手

import turtle

import time

这两行相信即使是编程小白也是可以看懂的,就是引入了两个模块,分别是turtle海龟库和时间库。

Python语言中我们要在开始引入我们需要用到的标准库的时候的语法是:

import

def drawGap():

turtle.penup()

turtle.fd(5)

这里定义了一个函数,Python语言中定义函数的格式是:

def ():

我们这个函数是为了绘制数码管之间的间隙,所以命名是drawGap()

在这里先介绍几个turtle库中的常用函数:

turtle.setup(650,350,200,200)

#启动窗口的大小和位置(注意这里参数的数值是指像素)

#(参数:窗口宽度,窗口高度(窗口大小参数),x坐标,y坐标(位置))

turtle.penup()

#海龟飞行 画笔抬起。将海龟从画布上抬起,接下来画笔的移动轨迹不会不会画在画布上

turtle.pendown()

#海龟爬行 画笔放下。将飞起的海龟重新放回画布,这样移动轨迹就留在了画布上

(上面这两个函数是一对函数,分别是抬起和放下,我们要绘制移动轨迹,就要turtle是在画布上爬行,要是不绘制轨迹࿰

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Python中的turtle库来绘制七段数码管,并使用time库来获取当前系统时间。 以下是示例代码: ```python import turtle import time # 定义七段数码管的线段坐标 segments = [ [(0, 50), (50, 50)], [(0, 50), (0, 0)], [(0, 0), (50, 0)], [(50, 0), (50, 50)], [(0, 0), (0, -50)], [(0, -50), (50, -50)], [(50, -50), (50, 0)] ] # 定义数字对应的线段组合 digit_segments = [ [0, 1, 2, 4, 5, 6], [2, 5], [0, 2, 3, 4, 6], [0, 2, 3, 5, 6], [1, 2, 3, 5], [0, 1, 3, 5, 6], [0, 1, 3, 4, 5, 6], [0, 2, 5], [0, 1, 2, 3, 4, 5, 6], [0, 1, 2, 3, 5, 6] ] def draw_segment(segment): turtle.penup() turtle.goto(segment[0]) turtle.pendown() turtle.goto(segment[1]) def draw_digit(digit): for segment_index in digit_segments[digit]: draw_segment(segments[segment_index]) def draw_time(): turtle.clear() turtle.hideturtle() turtle.speed(0) turtle.pensize(5) turtle.penup() turtle.goto(-150, 0) hour = time.localtime().tm_hour draw_digit(hour // 10) turtle.penup() turtle.goto(-75, 0) draw_digit(hour % 10) turtle.penup() turtle.goto(0, 0) turtle.pendown() turtle.circle(10) turtle.penup() turtle.goto(75, 0) minute = time.localtime().tm_min draw_digit(minute // 10) turtle.penup() turtle.goto(150, 0) draw_digit(minute % 10) while True: draw_time() time.sleep(1) ``` 该代码会不断绘制当前系统时间七段数码管,每秒钟更新一次。其中,`segments`定义了七段数码管的线段坐标,`digit_segments`定义了数字对应的线段组合。`draw_segment`函数用于绘制一个线段,`draw_digit`函数用于绘制一个数字,`draw_time`函数用于绘制当前系统时间七段数码管。`while True`循环用于不断更新时间绘制七段数码管

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值