當我得到一個 [x, y] 坐標時,我必須從串列字典中回傳一個符號。串列字典是這樣的:
GOBBLET_REPRESENTATION = {
1: ["?", "◇", "?", "□"],
2: ["?", "◆", "●", "■"],
}
這是我嘗試過的:
def formate_gobblet(gobblet):
if gobblet == []:
return " "
else:
if gobblet == [1,0]:
return f' {GOBBLET_REPRESENTATION.get(1)[0]} '
elif gobblet == [1,1]:
return f' {GOBBLET_REPRESENTATION.get(1)[1]} '
elif gobblet == [1,2]:
return f' {GOBBLET_REPRESENTATION.get(1)[2]} '
elif gobblet == [1,3]:
return f' {GOBBLET_REPRESENTATION.get(1)[3]} '
elif gobblet == [2,0]:
return f' {GOBBLET_REPRESENTATION.get(2)[0]} '
elif gobblet == [2,1]:
return f' {GOBBLET_REPRESENTATION.get(2)[1]} '
elif gobblet == [2,2]:
return f' {GOBBLET_REPRESENTATION.get(2)[2]} '
elif gobblet == [2,3]:
return f' {GOBBLET_REPRESENTATION.get(2)[3]} '
擁有 gobblet = [1,2] 的 formate_gobblet(gobblet) 應該回傳 ? 。這段代碼可以做到這一點,但是,如果有辦法讓 else 陳述句的代碼更簡單,我就在徘徊,因為看起來這可以使用回圈來解決。
uj5u.com熱心網友回復:
您不需要為此回圈。事實上,這可以使用索引本身在一行中完成。
def formate_gobblet(gobblet):
if gobblet == []:
return " "
else:
return return f' {GOBBLET_REPRESENTATION.get(gobblet[0])[gobblet[1]]} '
上面的代碼所做的是檢查是否為空,否則回傳位于第一個元素和第二個元素gobblet指向的位置的表示gobblet[0]gobblet[1]
uj5u.com熱心網友回復:
因為每一行都有很大的不同,所以用回圈制作它可能會做更多的作業。對不起。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/448614.html
