非常简单的函数没有输出(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')
这里是新手:)
非常简单的函数 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')