小编Str*_*ray的帖子

python lambda使用多个参数引发变量未定义的错误

当试图写一行斐波纳契数列,我明白了,我在遇到一个问题,fib = lambda a, b: b, a + b"'b' is not defined"

但是,当我这样做时,sum = a, b, c: a + b + c我没有错误. sum(1, 2, 3)完美运行并返回6.

我研究了全局变量,发现如果我在开始之前将a和b设置为Null,它不会给我一个错误,但有没有办法不这样做?

python lambda python-3.x

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

Python if True*除非*

我试图找出一种方法,如果输入可被4整除,则返回true,但不是100,除非也是400.我尝试失败了:

def is_leap(year):
    leap = False

    if [year % 100 == 0 if not year % 400]:
        leap = False
    else:
        if leap % 4 == 0:
            leap = True
    return leap
Run Code Online (Sandbox Code Playgroud)

2100的输入可以被4和100整除但不是400,所以我希望它返回False.

我得出一个简单的结论

def is_leap(year):
    leap = False

    if year % 4 == 0 and year % 400 == 0:
        leap = True
    elif year % 4 == 0 and year % 100 != 0:
        leap = True
    return leap
Run Code Online (Sandbox Code Playgroud)

但除非是否有更简单或不同的方式来做?谢谢.

此外,虽然我主要倾向于使用python3.5来满足每个人的需求,但我喜欢2.7的简单性.任何帮助都将不胜感激.

python if-statement

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

标签 统计

python ×2

if-statement ×1

lambda ×1

python-3.x ×1