用Python中的turtle 绘图,获取当前的年、月、日、时、分的七段数码管
时间: 2023-05-31 14:01:51 浏览: 87
Python turtle库实现七段数码管显示数字和字母
以下是一个示例代码,使用Python中的turtle库绘制当前时间的七段数码管。
```python
import turtle
import datetime
# 定义数字的七段显示
digits = [
[1, 1, 1, 0, 1, 1, 1], # 0
[0, 0, 1, 0, 0, 1, 0], # 1
[1, 0, 1, 1, 1, 0, 1], # 2
[1, 0, 1, 1, 0, 1, 1], # 3
[0, 1, 1, 1, 0, 1, 0], # 4
[1, 1, 0, 1, 0, 1, 1], # 5
[1, 1, 0, 1, 1, 1, 1], # 6
[1, 0, 1, 0, 0, 1, 0], # 7
[1, 1, 1, 1, 1, 1, 1], # 8
[1, 1, 1, 1, 0, 1, 1] # 9
]
# 定义绘制七段数码管的函数
def draw_digit(digit, x, y):
turtle.penup()
turtle.goto(x, y)
turtle.pendown()
if digit[0]: turtle.forward(40)
turtle.right(90)
if digit[1]: turtle.forward(40)
turtle.right(90)
if digit[2]: turtle.forward(40)
turtle.right(90)
if digit[3]: turtle.forward(40)
turtle.left(90)
if digit[4]: turtle.forward(40)
turtle.left(90)
if digit[5]: turtle.forward(40)
turtle.left(90)
if digit[6]: turtle.forward(40)
turtle.right(180)
turtle.penup()
turtle.forward(20)
# 获取当前时间
now = datetime.datetime.now()
# 获取年、月、日、时、分的数字
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
# 将数字转换为七段数码管
year_digits = [digits[int(i)] for i in str(year)]
month_digits = [digits[int(i)] for i in str(month)]
day_digits = [digits[int(i)] for i in str(day)]
hour_digits = [digits[int(i)] for i in str(hour)]
minute_digits = [digits[int(i)] for i in str(minute)]
# 绘制年、月、日、时、分的七段数码管
turtle.speed(0)
turtle.hideturtle()
# 绘制年
for i, digit in enumerate(year_digits):
draw_digit(digit, -200 + i * 60, 0)
# 绘制月
for i, digit in enumerate(month_digits):
draw_digit(digit, -200 + i * 60, -60)
# 绘制日
for i, digit in enumerate(day_digits):
draw_digit(digit, -200 + i * 60, -120)
# 绘制时
for i, digit in enumerate(hour_digits):
draw_digit(digit, -200 + i * 60, -180)
# 绘制分
for i, digit in enumerate(minute_digits):
draw_digit(digit, -200 + i * 60, -240)
turtle.done()
```
运行以上代码,将会绘制当前时间的七段数码管。可以根据需要自行修改样式和布局。
阅读全文