日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

pythonturtle怎么写_让Python的turtle命令更简短(译)

發布時間:2025/3/15 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pythonturtle怎么写_让Python的turtle命令更简短(译) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題: 怎么才能讓我的項目代碼更少呢, 這個hangman圖形的定義代碼太多了

def joonista_mees(valede_pakkumiste_arv):

if valede_pakkumiste_arv == 0:

ht()

up()

right(90)

forward(150)

right(90)

forward(30)

right(180)

down()

forward(200)

back(170)

left(90)

forward(150)

right(90)

forward(100)

right(90)

if valede_pakkumiste_arv == 1:

forward(15)

right(90)

circle(15)

left(90)

up()

forward(30)

down()

if valede_pakkumiste_arv == 2:

forward(45)

backward(45)

right(45)

forward(20)

backward(20)

left(90)

if valede_pakkumiste_arv == 3:

forward(20)

backward(20)

right(45)

forward(45)

right(30)

if valede_pakkumiste_arv == 4:

forward(45)

backward(45)

left(60)

if valede_pakkumiste_arv == 5:

forward(45)

backward(45)

right(30)

up()

backward(67)

if valede_pakkumiste_arv == 6:

right(90)

forward(3)

right(45)

down()

forward(3)

backward(6)

forward(3)

right(90)

forward(3)

backward(6)

forward(3)

right(45)

up()

forward(6)

left(45)

down()

forward(3)

backward(6)

forward(3)

right(90)

forward(3)

backward(7)

有什么方法可以讓代碼更緊湊呢? 或許可以把一些代碼寫進同一行?

回答: 你可以寫一個小解釋器作為一種迷你語言

比如,你可以把

forward(3)

right(90)

forward(3)

backward(7)

編碼進字符串,像這樣dostring = "f 3 r 90 f 3 b 7",

它的解釋器可以這樣編寫:

def interpret( dostring ):

tokens = dostring.split()

for command_id in range(0, len(tokens), 2):

command = tokens[command_id]

param = int(tokens[command_id+1])

if command == "f":

forward( param )

elif command == "b":

backward( param )

elif command == "r":

right(param)

else:

print("Unknown command: %s" % command)

然后, 只需這樣調用interpret("f 3 r 90 f 3 b 7")

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的pythonturtle怎么写_让Python的turtle命令更简短(译)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。