非常简单的函数没有输出(Python 3.7)

Very simple function gives no output ( Python 3.7)

这里是新手:)

非常简单的函数 geome(x) 没有给出任何输出,即使完全相同的代码在函数之外也能正常工作(参见“z = list ...”)。

我做错了什么?

非常感谢一些帮助或提示谢谢。

from operator import truediv

x = [1, 2, 4, 8, 16]

z = list(map(truediv, x[1:], x[:-1])) # This Works perfectly fine! >>> Geometric
if all(num == z[0] for num in z):
    print('Geometric')


def geome(x):
    z = list(map(truediv, x[1:], x[:-1])) 
    if all(num == x[0] for num in z):
        print('Geometric')

geome(x) # Doesn't work, even though it is the same code as above, only inside of a function. >>> 

您的 geome 实现了与您在外面拥有的不同的东西。在 if 子句中,您将 z[0] 更改为 x[0],因此 geome 应该是这样的:

def geome(x):
    z = list(map(truediv, x[1:], x[:-1])) 
    if all(num == z[0] for num in z):
        print('Geometric')