小编Gra*_*ant的帖子

函数返回None没有return语句

我刚刚学习(正在学习)函数参数如何在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来自哪里?还有,这是什么?

python function

38
推荐指数
3
解决办法
6万
查看次数

如何使用Python添加在'while'循环中生成的某些值

我正在解决项目欧拉问题,如下所示:

通过考虑Fibonacci序列中的值不超过四百万的项,找到偶数项的总和."

所以我使用这个脚本来打印斐波那契序列高达四百万:

a = 0
b = 1
while b < 4000000:
    print b
    a, b = b, a+b
Run Code Online (Sandbox Code Playgroud)

显然,我可以运行它,只需手动添加偶数值,但我觉得我在欺骗.

从技术上讲,我想我要问两个问题:

  1. 我怎么能挑出这些平价?
  2. 如何在不实际将它们分配给变量的情况下添加这些evens?

哦,我确信它非常明显,但我很新......好吧,编程一般而且我很容易迷失在专家的冗长中.提前致谢!

python fibonacci while-loop

4
推荐指数
1
解决办法
386
查看次数

为什么大数字操作在Haskell中使用'int'在某一点返回负数?

具有以下功能:
factorial :: Int -> Int
factorial n = product [1..n]

参数小于21时返回正确的值.例如: factorial 20返回2432902008176640000,但factorial 21返回-4249290049419214848即使值不为负,也不正确.

我知道应该使用这些大小的数字Integer,但具体是这里发生的错误,为什么?

int haskell numbers

1
推荐指数
1
解决办法
96
查看次数

如何输出一个数字的第一位数字,即使它是负数?

在 haskell 中,我使用以下方法获取正数的第一位:

firstDigit :: Int -> Int
firstDigit n
    | n < 10    = n
    | otherwise = firstDigit (div n 10)
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决负数的情况?我是否只需要在运行程序的其余部分之前检查它们,或者是否有更直观的东西?

math recursion haskell negative-number

1
推荐指数
1
解决办法
392
查看次数