我刚刚学习(正在学习)函数参数如何在Python中工作,我开始尝试使用它没有明显的原因,当这个:
def jiskya(x, y):
if x > y:
print y
else:
print x
print(jiskya(2, 3))
Run Code Online (Sandbox Code Playgroud)
给出了输出:
>>>
2
None
Run Code Online (Sandbox Code Playgroud)
它None来自哪里?还有,这是什么?
我正在解决项目欧拉问题,如下所示:
通过考虑Fibonacci序列中的值不超过四百万的项,找到偶数项的总和."
所以我使用这个脚本来打印斐波那契序列高达四百万:
a = 0
b = 1
while b < 4000000:
print b
a, b = b, a+b
Run Code Online (Sandbox Code Playgroud)
显然,我可以运行它,只需手动添加偶数值,但我觉得我在欺骗.
从技术上讲,我想我要问两个问题:
哦,我确信它非常明显,但我很新......好吧,编程一般而且我很容易迷失在专家的冗长中.提前致谢!
具有以下功能:
factorial :: Int -> Int
factorial n = product [1..n]
参数小于21时返回正确的值.例如:
factorial 20返回2432902008176640000,但factorial 21返回-4249290049419214848即使值不为负,也不正确.
我知道应该使用这些大小的数字Integer,但具体是这里发生的错误,为什么?
在 haskell 中,我使用以下方法获取正数的第一位:
firstDigit :: Int -> Int
firstDigit n
| n < 10 = n
| otherwise = firstDigit (div n 10)
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决负数的情况?我是否只需要在运行程序的其余部分之前检查它们,或者是否有更直观的东西?