1 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
這是我將采取的下一步(重新)安排您的代碼:
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()
現(xiàn)在應(yīng)該是一系列的小步驟來定義一個(gè)main()函數(shù);在代碼頂部定義一些常量,這樣 6、14、-50 和 2 之類的數(shù)字就不會(huì)出現(xiàn)在它的中間,并且可以輕松調(diào)整;添加的錯(cuò)誤信息(例如,如果有什么digit不DIGITS)。請(qǐng)記住,main()你是怎么想現(xiàn)在就用你的代碼,但外面的一切main()設(shè)計(jì)應(yīng)考慮別人的庫來使用,以解決未來的問題.
添加回答
舉報(bào)