CDays–5 习题一(计算今年是否为闰年)及相关内容解析。
计算今年是否为闰年。
Solution:相信大家在学习C语言的时候就已经对这个问题有过认识了,闰年条件:年份除以400为余数为0,或者除以4余数为零,且不能被100整除。Let's do this.
首先,我们需要知道Python的判断语句是什么,查阅资料,if else。还有一个问题,怎么获取今年的年份呢。我们需要一个函数.
time.localtime()[0]
通过这个函数的表达式我们可以看出,该函数并不能直接使用,需要语句
import time
下篇文章我们将介绍time模块的其他功能。
import 在Python中的作用就类似于 include在C语言中的作用了。
import 在Python的作用是载入模块,time就是一个常用的模块。
现在我们用这个函数和IF语句来完成这个程序。 来自啄木鸟社区
import time #导入time模块 thisyear = time.localtime()[0] #获取当前年份 if thisyear % 400 == 0 or thisyear % 4 ==0 and thisyear % 100 <> 0: #判断闰年条件, 满足模400为0, 或者模4为0但模100不为0 print 'this year %s is a leap year' % thisyear else: print 'this year %s is not a leap year' % thisyear
我们看一下运行结果:
结果是正确的的。
从程序中我们得知,#后面的部分是注释,这个对于编写大程序非常重要。
符号% 表示取模。
其中的布尔表达式也是非常易懂的,or或,and与,not非。
这里我们介绍一下Python的强制缩进概念。
Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的退出。缩进成为了语法的一部分。
根据PEP的规定,必须使用4个空格来表示每级缩进。使用Tab字符和其它数目的空格虽然都可以编译通过,但不符合编码规范。支持Tab字符和其它数目的空格仅仅是为兼容很旧的的Python程序和某些有问题的编辑程序。
对于强制缩进的是非网上的争论一直不休,强制缩进取消了花括号,程序看起来整齐,但是却带来一部分问题。比如不能在其他电脑上运行之类的。这里有一片文章来说明这个问题:《我看Python代码缩进》。
举个例子:
代码如下:
age =13; if age<21 : print '不能买酒' print '呵呵呵,这句话在if之中' print '这句话在if之外'
结果应该不难想象。
如果 age=33 那么就应该只输出一句话,让我们来试一下。
age =33; if age<21 : print '不能买酒' print '呵呵呵,这句话在if之中' print '这句话在if之外'