【发布时间】:2016-01-29 15:09:12
【问题描述】:
我想确定 n 次幂的阶乘是否更大或 (n 的 n 次幂) 的阶乘更大。
这是我的 Python 代码。
def whichIsLarger():
def fact(n):
assert type(n) == int
if n == 0 or n == 1:
return 1
else:
return n * fact(n-1)
print max( fact(n**n), fact(n)**fact(n) )
这段代码会正确执行(即不会出现任何语义错误)吗?
有没有什么方法可以在不给变量 n 赋值的情况下测试这段代码?
我的意思是我希望 Python 为我做一个一般的(即数学或代数的 osrt)比较,而不仅仅是通常的算术比较,例如将值 8 分配给整数 n 会产生影响。
Python 中有没有用于计算阶乘的内置函数?
阶乘函数写在whichIsLarger函数里面还是外面有什么区别?
【问题讨论】:
-
我想知道是什么导致我的问题被否决?
-
没有花时间找出如何在问题中格式化代码,没有发布任何尝试,没有解释他卡在哪里,添加了与问题完全无关的语句,没有花时间谷歌基本的内置函数,如
max。需要更多? -
一个程序来确定 2 个数量中哪个更大?你的意思是 max() 函数?还是您的意思是您想知道随着 n 趋于某个值,哪一个增长得更快?
-
是的,您也可以将参数传递给 Python 函数。如果您必须对每个值进行硬编码,那么它作为一种编程语言实际上是完全没用的。
-
@Juhana 现在请看看我的问题。我已经对其进行了编辑以使其更容易接受。
标签: python python-2.7