检查它是否是几何级数?

时间:2019-03-15 16:55:08

标签: python

在检查“ il”是否为几何级数时,我需要一些帮助, 如是:    打印True并在原始比例以下。 如果不    打印:错误。 如果列表中只有一份术语:仅一名成员。

例如:-

il = [2,4,8] 输出将为:True,并在2下的行中。

il = [2,4,20] 输出将为:False。

il = [2],输出将是:仅一个数字。

我所做的问题是选项的输出:列表只有一个术语是不正确的。

我的方法

il = [2]
def is_geometric(li):
    while len(li) <= 1:
        print ('only one number')
        break
    while len(li) > 1:
        ratio = li[1]/float(li[0]) # Check the ratio of the remaining
        for i in range(1, len(li)):
            if li[i]/float(li[i-1]) != ratio:
                return False
            return True
print (is_geometric(il))

输出为:“仅一个数字”,位于“无”下方的行中

我不明白为什么会退回“无”

1 个答案:

答案 0 :(得分:0)

有点修饰:

il = [2,4,8]

def is_geometric(li):

    if len(li) <= 1:    
        print ('only one number')    
        return True

    else:    
        ratio = li[1]/float(li[0]) # Check the ratio of the remaining

        for i in range(1, len(li)):    
            if li[i]/float(li[i-1]) != ratio:    
                return False

        print(ratio)    
        return True

print (is_geometric(il))