当前位置: 代码迷 >> 综合 >> python些许笔记-动态进度条、等边三角形、数码管
  详细解决方案

python些许笔记-动态进度条、等边三角形、数码管

热度:60   发布时间:2023-12-05 18:13:07.0
# TextProBarV3.py
import timescale = 50
print("执行开始".center(scale // 2, "-"))
start = time.perf_counter()
for i in range(scale + 1):a = '*' * ib = '.' * (scale - i)c = (i / scale) * 100dur = time.perf_counter() - startprint("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur), end='')time.sleep(0.1)
print("\n" + "执行结束".center(scale // 2, '-'))

#这垃圾题必须后面跟着空格(仍然不会带变量的可控居中)

N=eval(input(""))
for i in range(1,N+1,2):
    print(((N-i)//2)*' '+ '*' * i+(N-i)//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('2018-10=10+')drawDate(time.strftime('%Y-%m=%d+',time.gmtime()))turtle.hideturtle()turtle.done()
main()