python七段数码管倒计时_python实现七段数码管和倒计时效果

8是典型的七段数码管的例子,因为刚好七段都有经过,这里我写的代码是从1开始右转。

5bb5afc781d980090b944de6956ca8a0.jpg

这是看Mooc视频写的一个关于用七段数码管显示当前时间

# -*-coding:utf-8 -*-

import turtle as t

import time

def drawGap():

t.penup()

t.fd(5)

def drawLine(draw):

drawGap()

t.pendown() if draw else t.penup()

t.fd(40)

t.right(90)

def drawDigit(digit):

drawLine(True) if digit in [2, 3, 4, 5, 6, 8, 9] else drawLine(False) #当digit是2, 3, 4, 5, 6, 8, 9时执行

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, 8, 9] else drawLine(False)

drawLine(True) if digit in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False)

t.left(180)

t.penup()

t.fd(20)

def drawDate(date):

for i in date:

if i=='-':

t.write('年',font=("Arial",18,"normal"))

t.pencolor("green")

t.fd(40)

elif i=='=':

t.write('月', font=("Arial", 18, "normal"))

t.pencolor("green")

t.fd(40)

elif i=='+':

t.write('日', font=("Arial", 18, "normal"))

t.pencolor("green")

t.fd(40)

else:

drawDigit(eval(i))

# drawDigit(eval(date))

if __name__ == '__main__':

t.setup(800,350,200,200)

t.penup()

t.fd(-300)

t.pensize(5)

drawDate(time.strftime('%Y-%m=%d+',time.gmtime())) #strftime() 函数接收以时间元组,并返回以可读字符串表示的当地时间

# drawDate('6')

t.hideturtle()

t.done()

除外倒计时用七段数码管显示

在下面的代码中的datetime库对我这个新手去计算时间差来说是很方便的,另外我还学会了简写条件语句

if else

# -*-coding:utf-8 -*-

import turtle as t

import time

import datetime

def draw_Line(draw):

t.pendown() if draw else t.penup() #pendown 落下画笔 penup单纯飞过去没有落笔

t.fd(40)

t.right(90)

def draw_Digit(digit):

t.write('剩余时间:', font=("Arial", 18, "normal"))

t.pencolor("green")

t.fd(160)

i = 0

while i < len(digit):

if digit[i] >= '0' and digit[i] <= '9':

draw_Line(True) if eval(digit[i]) in [2, 3, 4, 5, 6, 8, 9] else draw_Line(False)

draw_Line(True) if eval(digit[i]) in [1, 3,4, 5, 6,7, 8, 9, 0] else draw_Line(False)

draw_Line(True) if eval(digit[i]) in [2, 3, 5, 6, 8, 9, 0] else draw_Line(False)

draw_Line(True) if eval(digit[i]) in [2, 6, 8, 0] else draw_Line(False)

t.left(90)

draw_Line(True) if eval(digit[i]) in [4, 5, 6, 8, 9, 0] else draw_Line(False)

draw_Line(True) if eval(digit[i]) in [2, 3, 5, 6,7, 8, 9, 0] else draw_Line(False)

draw_Line(True) if eval(digit[i]) in [1,2, 3, 4, 7, 8, 9, 0] else draw_Line(False)

t.left(180)

t.penup()

t.fd(20)

else:

break

i = i + 1

if __name__ == '__main__':

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

t.penup()

t.fd(-300)

t.pensize(4)

remain = datetime.datetime(2019, 2, 4) - datetime.datetime.now()

s=str(remain)

draw_Digit(s)

t.hideturtle()

t.done()

9ff37854e37c04ed7bdd6483db27954c.jpg

看到很多优秀的人,他们的努力,成就,天赋和幸运,都是我所不能及的,但若心向往,每天再努力一点点,即使最后没有向他们那样,也会使我不那么平庸。加油!!!

以上这篇python实现七段数码管和倒计时效果就是小编分享给大家的全部内容了,希望能给大家一个参考

您可能感兴趣的文章:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rda分析怎么做_数量生态学笔记||冗余分析(RDA)

上一节数量生态学笔记||冗余分析(RDA)概述中&#xff0c;我们回顾了RDA的计算过程&#xff0c;不管这个过程我们有没有理解透彻&#xff0c;我希望你能知道的是&#xff1a;RDA是响应变量矩阵与解释变量之间多元多重线性回归的拟合值矩阵的PCA分析。本节我们就是具体来看一个RD…

mysql 服务器管理员_mysql 查看数据库管理员

mysql 查看数据库管理员云服务器(Elastic Compute Service&#xff0c;简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备&#xff0c;让您像使用水、电、天然气等公共资源一样…

python中有哪些重要的书写规则_一文读懂Python代码的书写规范

Python代码的书写规范1. 一致性的建议打破一条既定规则的两个好理由当应用这个规则将导致代码可读性下降,即使对于某人来说他已经习惯于按照这条规则来阅读代码了为了和周围的代码保持一致而打破规则(也许是历史原因)2. 代码的布局缩进4个空格代码行行最大长度 : 79字符推荐长度…

二进制文件mysql创表_MySQL_MYSQL中如何存取二进制文件,首先创建测试表testtable CREATE TA - phpStudy...

MYSQL中如何存取二进制文件首先创建测试表testtableCREATE TABLE testtable ( id INT(5) NOT NULL AUTO_INCREMENT PRIMARY KEY,filename CHAR(255),data LONGBLOB );将文件存入表中mysql_connect( "localhost", "root", "password"); //连接数据…

树莓派 php mysql 中文_使用树莓派(raspberry pi)搭建网站(nginx+php+mysql+ddclient)

标签&#xff1a; 树莓派 raspberrypi php 网站 mysql分类&#xff1a; Linux技术最近在研究学习PHP&#xff0c;有时候想随时就学习&#xff0c;所以就决定搭建一个网站&#xff0c;随时可以进行学习&#xff0c;因为要24小时在线&#xff0c;要低功耗和安静&#xff0c;所以选…

mysql从库应用负载_线上MySQL数据库高负载的解决思路--再次论程序应用索引的重要性...

前言&#xff1a;过去的笔记整理而得&#xff0c;未免丢失&#xff0c;发布个人博客。[2012年的资料笔记]场景&#xff1a;数据库的负载飙升&#xff0c;CPU高达99%。查看进程。通过猜测推理&#xff0c;定位了一些select语句363478427 | apps_read | 192.168.1.113:48945 …

python获取方法的装饰方法_python中的方法和装饰器

[TOC]装饰器python中的装饰器(decorator)是在pep 318中被首次引入&#xff0c;它的本质是一个函数这个函数是接受其它参数为参数&#xff0c;并且用一个新的&#xff0c;修改后的函数作为替换&#xff0c;最常见的装饰器就classmethod和staticmethoddef happy(f):return lambda…

一帮一python_[python]L1-030 一帮一 (15分)

L1-030 一帮一 (15分)“一帮一学习小组”是中小学中常见的学习组织方式&#xff0c;老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作&#xff0c;即在得到全班学生的排名后&#xff0c;在当前尚未分组的学生中&#xf…

java书面_Java程序猿的书面采访String3

public class SameString {//思想二&#xff1a;每个字符都相应着自己的ASC码&#xff0c;第一个思想的算法复杂度为O(nlogn)。一般能够利用空间来减少时间复杂度//能够开辟一个大小为256的数组空间&#xff0c;而且将256个数组元素都置为0&#xff0c;然后遍历第一个字符串把字…

java fangfa_daicanfangfa java中的方法 刚入门的分不清带参方法的作用和用处 这个可以详细的讲解如何使用带参方法 - 下载 - 搜珍网...

第14章 带参数的方法/01 教学演示示例/示例1&#xff1a;带一个参数的方法/StudentsBiz.java第14章 带参数的方法/01 教学演示示例/示例1&#xff1a;带一个参数的方法/TestAdd.java第14章 带参数的方法/01 教学演示示例/示例2&#xff1a;带多个参数的方法/StudentsBiz.java第…

java sqlite 工具类_Java 工具类 - JDBC通用操作基类 BaseDao

封装了增删改查功能适用于MySQL、Oracle、SQLServer、DB2、Sybase、JTDS、PostgreSql、SQLite、Derby、H2、HSQLDB、ODBC 等等数据库&#xff0c;有需要的还可以自己增加。package com.tgb.hz.jdbc;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import javax.namin…

java 跨域 下载文件_文件下载重命名(可跨域)

一、正常情况下&#xff0c;我们都如此下载文件并修改文件名&#xff0c;在a标签上面添加download属性var link document.createElement(a);link.href file.url;link.download file.name;link.target"_blank";link.click();由于a.download跨域会失效&#xff0c;上…

java hibernate 插入数据_[Java教程]hibernate 返回新插入数据的Id

[Java教程]hibernate 返回新插入数据的Id0 2015-08-28 10:00:11例如 表明 studentInfoString sql"set set nocount on studentInfo(列名,列名) values(值,值);select identity as inserId";java代码&#xff1a;public int executeCount(String sql, Map paramMap) {…

java输入行数打印菱形_JAVA题,输入行数,输入列数,输出一个菱形

展开全部1,冒泡排序1. /**2. * JAVA排序算法实现代码-冒泡(Bubble Sort)排序。3. *4. *5. *6. */7. public class Test {8. public static void main(String[] args) {9. int[] a ;10.11. System.out.print("排序前: ");12.13. for (int i 0; i < a.length; i)1…

mysql 密码大小写_MySQL数据库加密和解密~认证登陆密码(mysql.user)和MySQL不区分大小写...

MySQL数据库认证密码有两种方式:1&#xff1a;MySQL 4.1版本之前是MySQL323加密2&#xff1a;MySQL 4.1和之后的版本都是MySQLSHA1加密还有函数:AES_ENCRYPT()加密函数和AES_DECRYPT()解密函数和MD5()加密。MySQL数据库中自带old_password(str)和password(str)函数,前者是MySQL…

三星手机 java_如何在三星手机上安装Java ME应用程序?

我的手机应该可以运行&#xff1a;JavaTM&#xff1a;MIDP 2.0,基于CLDC 1.1的应用程序.但是,无论我尝试在其上安装哪个应用程序,我都会收到错误&#xff1a;已下载的JAR无效我已经尝试在Netbeans上构建Java ME项目,使用指定的MIDP 2.0和CLDC 1.1.这些应用程序很简单,使用Netbe…

openshift 3 mysql_最新OpenShift免费空间申请与使用教程-1G内存1G空间支持PHP和MysqL

一、OpenShift空间申请使用前必备工具1、OpenShift官网&#xff1a;1、官方网站&#xff1a;https://www.openshift.com/2、OpenShift V3&#xff1a;https://manage.openshift.com/2、Github账号(或者其他的git仓库也可以..)。注册git仓库是为了方便的实现代码的同步&#xff…

python 简单web音频_Python Twisted web服务器音频fi

我尝试用python中的twisted创建一个简单的web服务器。不过&#xff0c;我无法提供m4a音频文件。在在当前程序中&#xff0c;当我加载http://localhost:8880/mp3.html时&#xff0c;它可以正常工作。它显示音频播放器和mp3播放。此外&#xff0c;程序同时打印“/mp3.html”和/测…

cpython教程_python高性能扩展工具-cython教程1快速入门

Cython不仅仅是一种编程语言。它的起源可以追溯到SAGE数学软件包&#xff0c;它用于提高数学计算性能&#xff0c;例如涉及矩阵的计算。更一般地说&#xff0c;我倾向于将Cython视为SWIG的替代品&#xff0c;为本机代码生成非常好的Python绑定。SWIG是最早和最好之一&#xff0…

golang mysql封装_golang如何封装路由

封装方式一、路由写在 main函数中&#xff0c;数据库初始连接放在 init() 函数中。、首先看 main.go一个初始化函数&#xff0c;初始化 dbfunc init() {db.Connect()}第二&#xff0c;路由func main() {// Configurerouter : gin.Default()// Set html render optionshtmlRende…