我正在尝试创建一个函数,该函数将接受输入并将其除以直到它在某个范围内。
假设输入是“2600”,我想尝试将其除以 500 到 1000 之间,然后返回该数字。所以它会这样做
尝试 2600/1,发现不在范围内,然后重试
然后 2600/2 并查看它不在范围内,然后重试
然后 2600/3 并查看它是否在范围内并返回 866
无论如何,我在 Python 2 中这样做,我认为我的想法是正确的,但语法让我困惑。
def octavesort(input,counter1):
if input > (frequency * 2):
test = input / counter1
if test > (frequency * 2):
octavesort(input,counter1+1)
else:
return test
else:
return test
最佳答案
您忘记返回下一个测试的值。
return octavesort(input,counter1+1)
此外,您不需要这两个 else
子句;只需返回测试
。
关于python - 在 Python 中创建一个函数,该函数会被除以直到达到某个范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26199311/