Python基础思维导图笔记2——(函数和代码复用、组合数据类型、文件和数据格式化)+七段数码管显示当前时间 + 科赫雪花问题+词云生成实例

(一)函数和代码复用


(二)七段数码管显示当前时间

import turtle, time 
def drawGap(): #绘制数码管间隔     
    turtle.penup()     
    turtle.fd(5) 
def drawLine(draw):   #绘制单段数码管     
    drawGap()     
    turtle.pendown() if draw else turtle.penup()     
    turtle.fd(40)     
    drawGap()     
    turtle.right(90) 
def drawDigit(d): #根据数字绘制七段数码管     
    drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)     
    drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)     
    drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)     
    drawLine(True) if d in [0,2,6,8] else drawLine(False)     
    turtle.left(90)     
    drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)     
    drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)     
    drawLine(True) if d 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(-350)     
    turtle.pensize(5) 
    drawDate(time.strftime('%Y-%m=%d+', time.localtime()))
    #若想显示自己设置的一个时间,将上句替换为:drawDate('2018-06=17+')    
    turtle.hideturtle()     
    turtle.done() 
main()

显示结果如下:

(三)科赫雪花问题

分形几何:一种迭代的几何图形,即整体和局部很相似

科赫曲线也叫雪花曲线。做法:0阶曲线取三等分后,中间一段"擦去",向外作正三角形的突起(没有底边)

#科赫雪花
import turtle as tt
def koch(size,n):
    if n == 0:
        tt.fd(size)
    else:
        for angle in [0,60,-120,60]:
            tt.left(angle)
            koch(size/3,n-1)
def main():
    tt.setup(800,500)
    tt.penup()
    tt.goto(-300,100)
    tt.pendown()
    tt.pensize(2)
    tt.speed(10)
    level = 3  #科赫曲线阶数
    koch(400,level)
    tt.right(120)
    koch(400,level)
    tt.right(120)
    koch(400,level)
    tt.hiderturtle()
main()  

显示结果如下:

(四)组合数据类型

(五)文件和数据格式化

import wordcloud
import jieba
w = wordcloud.WordCloud(font_path="msyh.ttc")
w.generate(" ".join(jieba.lcut("Happy Birthday XiaoDing 小丁生日快乐 生日快乐啊")))
w.to_file("outfile4.png")

效果如下:


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值