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.pswp.cn/news/530900.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530900.shtml
英文地址,請注明出處:http://en.pswp.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…