标题:一段程序中的小问题,求解答~~~~~~~~~
只看楼主
绵延的风
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-11-13
 问题点数:0 回复次数:3 
一段程序中的小问题,求解答~~~~~~~~~
def _days_before_month(month, year):           # number of days in year before month
    return _DAYS_BEFORE_MONTH[month-1] + (month > 2 and _is_leap(year))

注:_is_leap(year)是前面定义的一个判定闰年的函数,
    _DAYS_BEFORE_MONTH[month-1]取出的是一个数,
    我不明白,难道后面的条件用括号括起来就成了数字?而且应该是1.。。。。求解释
搜索更多相关主题的帖子: before number return 而且 
2011-11-13 14:52
hziee
Rank: 4
等 级:业余侠客
帖 子:64
专家分:257
注 册:2010-3-12
得分:0 
括号中为一判断条件,可简单理解为bool类型,返回0/1数据(或True/False)
2011-11-16 15:43
mobibi
Rank: 2
等 级:论坛游民
帖 子:3
专家分:40
注 册:2010-7-25
得分:0 
month > 2 and _is_leap(year)
month > 2 为假返回False
month 〉2 为真 返回_is_leap(year)的返回值 相当于直接调用了_is_leap(year)
2011-11-28 18:00
为Jay沉沦
Rank: 2
来 自:四川成都西南交大
等 级:论坛游民
帖 子:40
专家分:25
注 册:2009-3-22
得分:0 
_DAYS_BEFORE_MONTH[month-1]取出的是一个数
(month > 2 and _is_leap(year)返回的是布尔值,即True(1)/False(0)
python中一个数和布尔值相加,布尔值会转换为数字0或者1,所以结果就返回了数字

无与伦比,为杰沉沦!
2012-04-11 10:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-355159-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.556385 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved