python - 这个过程有没有更有效的算法?

标签 python algorithm conditional-statements

<分区>

我有一个简单的算法,它在 1 到 359 之间循环变量 self.h。它是:

while True:
    if self.h <= 1:
        self.up = True
    elif self.h >= 359:
        self.up = False

    if self.up:
        self.h += 1
    else:
        self.h -= 1

很抱歉,如果这是一个模糊的问题,但是否有更好的方法来做到这一点,也许没有检查 self.h 的附加条件?感觉很笨拙。

谢谢

最佳答案

from itertools import cycle, chain
x = cycle(chain(range(1, 359), range(359, 1, -1)))

然后就

self.h = next(x)

关于python - 这个过程有没有更有效的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27467690/

相关文章:

python - 我需要为 subprocess.call 命令提供变量名称

python - 拖动 Canvas 时获取当前值

python - 根据特定顺序重新排序列表

根据元素的大小将元素分成几类的算法

交换两个变量的javascript函数

javascript - 是否可以使用 javascript 在条件语句中将某人发送到网站?

python - 从文本文件中检索变量值的最佳方法?

algorithm - 如何找到无向图中从s(任意起始顶点)到v(任意顶点)的最短路径是否唯一?

使用&&的javascript条件语句

javascript - 比较条件对