Skip to main content
 首页 » 编程设计

python之如何用 Python 优雅地写这个

2025年05月04日17xing901022

我正在尝试用 Python 编写这个循环,但感到困惑。基本上我有一个起始角度 90,我想使用 -90 到 90 的范围,迭代 10 次。循环完成后,我想将角度除以一半并重复使用-45 到 45、10 次迭代等的过程。

必须包含结束值,因此 90 是第一个循环的最后一个值,然后 45 是第二个循环的最后一个值,依此类推。

我怎样才能用 Python 优雅高效地编写它?

startAngle = 90 
for i in range(5): 
    for x in range(10): 
        print values from -startAngle to startAngle (startAngle included) 
    startAngle = startAngle / 2 

请您参考如下方法:

def angles(x): 
    return [ i * x / 5 - x for i in xrange(11)] 

angles(90) 返回 [-90, -72, -54, -36, -18, 0, 18, 36, 54, 72, 90]

angles(45) 返回 [-45, -36, -27, -18, -9, 0, 9, 18, 27, 36, 45]

您现在可以迭代返回值,它是一个列表。

在我的 angles 方法中有十个步骤返回十一个值。

如果你想要更多的步骤:

def angles(angle, steps): 
    return [ i * angle * 2 / (steps - 1) - angle for i in xrange(steps)] 

angles(90, 5) 返回 [-90, -45, 0, 45, 90]