【发布时间】:2014-08-22 20:11:21
【问题描述】:
def square(x):
x = 2**x
x = 2.0
while x < 100.0:
print x, '\t', square(x)
x = square(x)
我尝试打印。但它不会打印。我真正想要的是 2 的平方。但它不会打印?我做错了什么?
【问题讨论】:
-
x = 2.0只会在每次运行函数时将 x 重置回2.0。所以你做x = 2^x并丢弃那个值。 -
你有无限递归——你在
square(x)的定义中调用square(x)。 -
你让它无限递归只是返回值
-
请记住,Python 非常关心缩进。所有以
x = 2.0开头的语句都是函数定义的一部分,因为它们是缩进的。 -
你能先修正你的缩进吗?
x = 2.0和while ...实际上没有缩进吗?