有没有更好的方法来写这个?

2024-10-02 04:17:21 发布

您现在位置:Python中文网/ 问答频道 /正文

有更好的方法吗?我觉得我太重复了,好像做错了什么事。在

O = viz.pick(1, viz.WORLD)

BackSetts = ["set_b1b", "set_b2a", "set_b1a",  "set_b2b"]
LeftSetts = ["set_l1a", "set_l1b", "set_l2a", "set_l1b"]
NormSetts = ["set_nr_a", "set_nr_b"]
Maps = ["MapA","MapB"]

if O.name in BackSetts:
    for i in set(BackSetts)|set(Maps):
        WORLD[i].alpha(abs(WORLD[i].getAlpha()-1))

elif O.name in LeftSetts:
    for i in set(LeftSetts)|set(Maps):
        WORLD[i].alpha(abs(WORLD[i].getAlpha()-1))

elif O.name in NormSetts:
    for i in NormSetts:
        WORLD[i].alpha(abs(WORLD[i].getAlpha()-1))

Tags: nameinalphaforworldabsnrmaps
1条回答
网友
1楼 · 发布于 2024-10-02 04:17:21

简单的转换是:

O = viz.pick(1, viz.WORLD)

BackSetts = ["set_b1b", "set_b2a", "set_b1a",  "set_b2b"]
LeftSetts = ["set_l1a", "set_l1b", "set_l2a", "set_l1b"]
NormSetts = ["set_nr_a", "set_nr_b"]
Maps = ["MapA","MapB"]
anyset = []

if O.name in BackSetts:
    anyset = set(BackSetts)|set(Maps)

elif O.name in LeftSetts:
    anyset = set(LeftSetts)|set(Maps)

elif O.name in NormSetts:
    anyset = NormSetts

for i in anyset:
    WORLD[i].alpha(abs(WORLD[i].getAlpha()-1))

这需要注意的是NormSetts不会像在原始代码中那样与映射合并。在

相关问题 更多 >

    热门问题