试图5天学会python——Mooc 实例

一、文本进度条

#TextProBarV3.py
import time
scale = 50
print("执行开始".center(scale//2, "-"))
start = time.perf_counter()
for i in range(scale+1):
    a = '*' * i
    b = '.' * (scale - i)
    c = (i/scale)*100
    dur = time.perf_counter() - start
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
    time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,'-'))

在这里插入图片描述

二、自动安装 python 库脚本

import os

libs = {'pypdf2', 'requests'}
try:
    for i in libs:
        os.system("pip install " + i)
    print("Successful")
except:
    print('faild someHow')

三、根据文件画图

from datetime import date
import re
import turtle
turtle.title("自动轨迹绘制")
turtle.setup(800, 600, 0, 0)
turtle.pencolor("red")
turtle.pensize(5)

date1 = []

f = open('1.txt')
for line in f:
    line = line.replace("\n", "")
    print(line)
    date1.append(list(map(eval, line.split(","))))
f.close()

for i in range(len(date1)):
    turtle.pencolor(date1[i][3], date1[i][4], date1[i][5])
    turtle.fd(date1[i][0])
    if date1[i][1]:
        turtle.left(date1[i][2])
    else:
        turtle.right(date1[i][2])
// 1.txt 文件内容
300,0,144,1,0,0
300,0,144,0,1,0
300,0,144,0,0,1
300,0,144,1,1,0
300,0,108,0,1,1
184,0,72,1,0,1
184,0,72,0,0,0
184,0,72,0,0,0
184,0,72,0,0,0
184,1,72,1,0,1
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,720,1,0,0

四、政府工作报告词云( 《国务院关于实施乡村振兴战略的意见》)

from datetime import date
import re
import turtle
turtle.title("自动轨迹绘制")
turtle.setup(800, 600, 0, 0)
turtle.pencolor("red")
turtle.pensize(5)

date1 = []

f = open('国务院关于实施乡村振兴战略的意见.txt')
for line in f:
    line = line.replace("\n", "")
    print(line)
    date1.append(list(map(eval, line.split(","))))
f.close()

for i in range(len(date1)):
    turtle.pencolor(date1[i][3], date1[i][4], date1[i][5])
    turtle.fd(date1[i][0])
    if date1[i][1]:
        turtle.left(date1[i][2])
    else:
        turtle.right(date1[i][2])

turtle.done()

在这里插入图片描述

五、七段数码管写当前日期

from datetime import datetime
import turtle

def drawLine(draw):
    turtle.penup()
    if draw:
        turtle.pendown()
    turtle.fd(40)
    turtle.right(90)
    turtle.penup()

def digit(num):
    if num in [2, 3, 4, 5, 6, 8, 9]:
        drawLine(True)
    else:
        drawLine(False)
    if num in [0, 1, 3, 4, 5, 6 ,7 ,8, 9]:
        drawLine(True)
    else:
        drawLine(False)
    if num in [0, 2, 3, 5, 6, 8, 9]:
        drawLine(True)
    else:
        drawLine(False)
    if num in [0, 2, 6, 8]:
        drawLine(True)
    else:
        drawLine(False)
    turtle.left(90)
    if num in [0, 4, 5, 6, 8, 9]:
        drawLine(True)
    else:
        drawLine(False)
    if num in [0, 2, 3, 5, 6, 7, 8, 9]:
        drawLine(True)
    else:
        drawLine(False)
    if num in [0, 1, 2, 3, 4, 7, 8, 9]:
        drawLine(True)
    else:
        drawLine(False)
    turtle.left(180)
    turtle.fd(20)

def main():
    turtle.setup(600, 400)
    turtle.hideturtle()
    turtle.speed(10000)
    turtle.penup()
    turtle.fd(-250)
    turtle.pensize(5)
    turtle.pencolor('purple')
    date1 = datetime.today()
    date1 = date1.strftime('%Y%m%d')
    print(date1)
    for i in date1:
        digit(eval(i))

    turtle.done()

if __name__ == '__main__':
    main()

在这里插入图片描述

六、绘制玫瑰花

#RoseDraw.py
import turtle as t
# 定义一个曲线绘制函数


def DegreeCurve(n, r, d=1):
    for i in range(n):
        t.left(d)
        t.circle(r, abs(d))


# 初始位置设定
s = 0.2  # size
t.setup(450*5*s, 750*5*s)
t.pencolor("black")
t.fillcolor("red")
t.speed(100)
t.penup()
t.goto(0, 900*s)
t.pendown()

# 绘制花朵形状
t.begin_fill()
t.circle(200*s, 30)
DegreeCurve(60, 50*s)
t.circle(200*s, 30)
DegreeCurve(4, 100*s)
t.circle(200*s, 50)
DegreeCurve(50, 50*s)
t.circle(350*s, 65)
DegreeCurve(40, 70*s)
t.circle(150*s, 50)
DegreeCurve(20, 50*s, -1)
t.circle(400*s, 60)
DegreeCurve(18, 50*s)
t.fd(250*s)
t.right(150)
t.circle(-500*s, 12)
t.left(140)
t.circle(550*s, 110)
t.left(27)
t.circle(650*s, 100)
t.left(130)
t.circle(-300*s, 20)
t.right(123)
t.circle(220*s, 57)
t.end_fill()

# 绘制花枝形状
t.left(120)
t.fd(280*s)
t.left(115)
t.circle(300*s, 33)
t.left(180)
t.circle(-300*s, 33)
DegreeCurve(70, 225*s, -1)
t.circle(350*s, 104)
t.left(90)
t.circle(200*s, 105)
t.circle(-500*s, 63)
t.penup()
t.goto(170*s, -30*s)
t.pendown()
t.left(160)
DegreeCurve(20, 2500*s)
DegreeCurve(220, 250*s, -1)

# 绘制一个绿色叶子
t.fillcolor('green')
t.penup()
t.goto(670*s, -180*s)
t.pendown()
t.right(140)
t.begin_fill()
t.circle(300*s, 120)
t.left(60)
t.circle(300*s, 120)
t.end_fill()
t.penup()
t.goto(180*s, -550*s)
t.pendown()
t.right(85)
t.circle(600*s, 40)

# 绘制另一个绿色叶子
t.penup()
t.goto(-150*s, -1000*s)
t.pendown()
t.begin_fill()
t.rt(120)
t.circle(300*s, 115)
t.left(75)
t.circle(300*s, 100)
t.end_fill()
t.penup()
t.goto(430*s, -1070*s)
t.pendown()
t.right(30)
t.circle(-600*s, 35)
t.done()

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值