【发布时间】:2026-02-04 15:10:02
【问题描述】:
所以我正在和朋友谈论以下功能。假设函数的输入是 100。有人说这将打印 100、50、25、12、6、3、1、1,而另一位则认为它应该打印 100、101、50、51 和很快。我尝试自己运行它来查看结果,但是我没有使用 Python 的经验,这只是教科书上的一个练习,当我尝试在 ideone 上运行它时,它没有提供任何输出。谢谢!
def CodeWrite (N):
if (N > 0):
print(N)
CodeWrite(N / 2)
print(N + 1)
【问题讨论】:
-
将其写入文件,例如
foo.py,然后运行它...python foo.py。让python告诉你谁是对的。 -
你可能会遇到“腌制对象时超出最大递归深度”的错误:) .. 你可能想要一个更好的终止条件。
-
这取决于 -- 如果你在 Python 3 上运行,
N / 2会产生浮点数。 -
对不起,我不得不对此投反对票,但基本前提很容易自己验证。甚至 python2 和 3 之间的不同行为也很容易通过 Google 自行查找。
-
在您编写的文件末尾添加一行:
CodeWrite(100)。它应该一直向左 - 不与函数缩进。你必须在函数运行之前调用它。
标签: python