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()設計應考慮別人的庫來使用,以解決未來的問題.

添加回答
舉報
