我的python之路

作为一个编程初学者,要说能分亨一些很高级很有实用性的技术是不太可能的,要分享一些基础的东西又不太有必要,毕竟网络上基础的东西太多了,我分享的未必能多透彻,所以在这里我只分享一些在学习过程中的一些想法和思路,希望和同我一样的小白们同进共勉!
这是一个用turtle库写的七段数码管小程序,是在网上看到的,它原来是输出一个年月日的程序,在这基础上我把它改成一个同样是七段数码管的倒计时画圈圈的小程序。代码如下:
import turtle
from turtle import *
import time
def drawGap():#这个函数的作用在于模拟数码管的横竖连接点的留空,这样的图像看起来更逼真。
turtle.penup()
turtle.fd(6)
def drawLine(draw):#这个函数的作用就是画线
drawGap()
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
drawGap()
turtle.right(90)
def drawDigit(digit):#这个函数的作用在于画线时告诉程序什么情况下划实线,什么情况下画空线。
drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
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)
turtle.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)
turtle.penup()
turtle.fd(52)
turtle.pendown()
turtle.right(180)#当时写到这里的时候卡了很久,倒计时就是要在原位写出数字并清屏,那么当一个数字完成之后就要让画笔返回原位且方向也要返回初始的方向,当时没想通这一点,因为原程序是多个数字显示的,所以每写完一个数字画笔就会转换方向跳转到下个数字的位置,结果总是跑位了,试了好几次才想明白要让画笔的方向也回到初始方位。
def vision():#这个函数的作用就是画圈圈,这个主要是为了让倒计时到最后会有趣一点,不会就单纯的计时。
turtle.penup()
turtle.goto(0,-400)
turtle.pendown()
turtle.circle(400)
turtle.penup()
turtle.goto(0,0)
turtle.pendown()
angle=60
turtle.bgcolor(‘white’)
turtle.pensize(2)
randomColor=[‘red’,‘blue’,‘green’,‘purple’,‘gold’,‘pink’]
turtle.speed(11)
for i in range(200):
turtle.pencolor(randomColor[i%6])
turtle.circle(i)
turtle.right(angle+1)
turtle.penup()
turtle.goto(0,0)
turtle.pendown()
def main():#主函数
turtle.setup(500,300,200,200)
turtle.penup()
turtle.fd(-100)
turtle.pensize(5)
turtle.pencolor(‘red’)
turtle.hideturtle()
turtle.speed(100)
x=[9,8,7,6,5,4,3,2,1,0]#倒计时时的数字列,这个有点多此一举,它是可以用for i in range(9,0,-1)直接写循环的,当时写的时候忘了9-0是要-1,结果怎么弄都不行,最后只能是加个列表。
for i in x:#倒计时的循环
drawDigit(i)
turtle.clear()
drawDigit(0)#最后写多两次零并清屏,制造一个闪烁的效果。
turtle.clear()
drawDigit(0)
turtle.clear()
turtle.pencolor(‘red’)
turtle.write(‘start’,align=‘center’,font=(‘Arial’,50,‘normal’))
time.sleep(1)
turtle.clear()
vision()
turtle.hideturtle()
turtle.done()
main()
整个小程序就是这样,愿看到的大佬小白不吝指教!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值