使用turtle库、time库编程实 现自己的七段数码管式学号从窗口右侧 向左侧滚动,从左侧移出后重新出现在 右侧,循环往复
时间: 2024-03-01 15:56:11 浏览: 132
好的,我可以帮你实现这个程序。以下是Python代码:
```python
import turtle
import time
# 设置窗口大小和背景颜色
turtle.setup(800, 400)
turtle.bgcolor("black")
# 定义数字0到9的点阵表示
digit = [
[1, 1, 1, 1, 1, 1, 0], # 0
[0, 1, 1, 0, 0, 0, 0], # 1
[1, 1, 0, 1, 1, 0, 1], # 2
[1, 1, 1, 1, 0, 0, 1], # 3
[0, 1, 1, 0, 0, 1, 1], # 4
[1, 0, 1, 1, 0, 1, 1], # 5
[1, 0, 1, 1, 1, 1, 1], # 6
[1, 1, 1, 0, 0, 0, 0], # 7
[1, 1, 1, 1, 1, 1, 1], # 8
[1, 1, 1, 1, 0, 1, 1] # 9
]
# 定义每个数字的显示位置和大小
pos = [(120, 0), (80, 40), (40, 60), (-20, 60), (-60, 40), (-100, 0), (-60, -40)]
size = 20
# 显示学号函数
def show_number(num):
turtle.clear()
turtle.pencolor("red")
for i in range(len(num)):
if num[i] == '-':
continue
turtle.penup()
x, y = pos[i]
turtle.goto(x, y)
turtle.pendown()
for j in range(len(digit[int(num[i])])):
if digit[int(num[i])][j] == 1:
turtle.fillcolor("red")
else:
turtle.fillcolor("black")
turtle.begin_fill()
for k in range(4):
turtle.forward(size)
turtle.right(90)
turtle.end_fill()
# 学号
number = "2201-xxxxxx"
# 循环滚动
while True:
for i in range(len(number)):
number = number[1:] + number[0]
show_number(number)
time.sleep(0.2)
```
这个程序使用turtle库和time库实现了自己的七段数码管式学号从窗口右侧向左侧滚动,从左侧移出后重新出现在右侧,循环往复的效果。你可以将程序中的学号改为你自己的学号进行测试。
阅读全文