gpt4 book ai didi

python - 根据可能取多个值的参数有效地定义变量

转载 作者:行者123 更新时间:2023-11-28 21:49:54 27 4
gpt4 key购买 nike

我有这个函数,它根据参数 orientation 的值定义和返回变量 ab

        def myfunc(orientation, l, w):


if orientation == 1:
a = -w
b = l
elif orientation == 2:
a = -l
b = w
elif orientation == 3:
a = -w
b = -l
elif orientation == 4:
a = -l
b = -w
elif orientation == 5:
a = w
b = l
elif orientation == 6:
a = l
b = w
elif orientation == 7:
a = w
b = -l
elif orientation == 8:
a = l
b = -w

return a, b

我的问题是:是否有更紧凑和/或更有效的方法来做同样的事情?如果有更好的方法,是什么?

最佳答案

首先,循环是不必要的;只会返回在最后一次迭代中分配的值。一旦你摆脱了这些,就很容易看到模式:

def myfunc(orientation, l, w):

a, b = (w, l) if orientation % 2 else (l, w)

if orientation <= 4:
a = -a
if orientation in (3, 4, 7, 8):
b = -b

return a, b

关于python - 根据可能取多个值的参数有效地定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32793184/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com