如何通过使用循环或其他方式使我的代码更简单?
How to make my code more simple by using a loop or someting else?
当我得到 [x, y] 坐标时,我必须 return 列表字典中的一个符号。列表字典是这样的:
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]} '
有 formate_gobblet(gobblet) with gobblet = [1,2] 应该 return ◯ 。这段代码可以做到这一点,但是,如果有一种方法可以使 else 语句的代码更简单,我在徘徊,因为它看起来可以使用循环来解决。
因为每一行都有很大的不同,所以用循环来制作它可能会更麻烦。对不起。
你不需要循环。事实上,这可以使用索引本身在一行中完成。
def formate_gobblet(gobblet):
if gobblet == []:
return " "
else:
return return f' {GOBBLET_REPRESENTATION.get(gobblet[0])[gobblet[1]]} '
上面的代码所做的是检查空 gobblet
否则 returns 位于第一个元素 gobblet[0]
和第二个元素 gobblet[1]
当我得到 [x, y] 坐标时,我必须 return 列表字典中的一个符号。列表字典是这样的:
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]} '
有 formate_gobblet(gobblet) with gobblet = [1,2] 应该 return ◯ 。这段代码可以做到这一点,但是,如果有一种方法可以使 else 语句的代码更简单,我在徘徊,因为它看起来可以使用循环来解决。
因为每一行都有很大的不同,所以用循环来制作它可能会更麻烦。对不起。
你不需要循环。事实上,这可以使用索引本身在一行中完成。
def formate_gobblet(gobblet):
if gobblet == []:
return " "
else:
return return f' {GOBBLET_REPRESENTATION.get(gobblet[0])[gobblet[1]]} '
上面的代码所做的是检查空 gobblet
否则 returns 位于第一个元素 gobblet[0]
和第二个元素 gobblet[1]