1 回答

TA贡献1804条经验 获得超3个赞
这是我将采取的下一步(重新)安排您的代码:
from turtle import Screen, Turtle
def short(t):
t.forward(6)
t.penup()
t.backward(6)
t.right(90)
t.forward(6)
t.left(90)
t.pendown()
def long(t):
t.forward(14)
t.penup()
t.backward(14)
t.right(90)
t.forward(6)
t.left(90)
t.down()
def print_zero(t):
long(t)
long(t)
short(t)
short(t)
short(t)
def print_one(t):
short(t)
short(t)
short(t)
long(t)
long(t)
# ...
DIGITS = {
'0': print_zero,
'1': print_one,
# ...
}
if __name__ == '__main__':
screen = Screen()
screen.title('Zip Code to Bar Code')
turtle = Turtle(visible=False)
turtle.speed('fastest')
turtle.pensize(2)
turtle.left(90)
turtle.penup()
turtle.sety(-50)
turtle.pendown()
zipcode = screen.textinput('Zip Code', 'Please enter a valid zipcode:')
if zipcode:
for digit in zipcode:
if digit in DIGITS:
DIGITS[digit](turtle)
screen.mainloop()
现在应该是一系列的小步骤来定义一个main()函数;在代码顶部定义一些常量,这样 6、14、-50 和 2 之类的数字就不会出现在它的中间,并且可以轻松调整;添加的错误信息(例如,如果有什么digit不DIGITS)。请记住,main()你是怎么想现在就用你的代码,但外面的一切main()设计应考虑别人的库来使用,以解决未来的问题.
添加回答
举报