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

我们看一下运行结果:

image

结果是正确的的。

从程序中我们得知,#后面的部分是注释,这个对于编写大程序非常重要。

符号% 表示取模。

其中的布尔表达式也是非常易懂的,or或,and与,not非。

这里我们介绍一下Python的强制缩进概念。

Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的退出。缩进成为了语法的一部分。

根据PEP的规定,必须使用4个空格来表示每级缩进。使用Tab字符和其它数目的空格虽然都可以编译通过,但不符合编码规范。支持Tab字符和其它数目的空格仅仅是为兼容很旧的的Python程序和某些有问题的编辑程序。

       对于强制缩进的是非网上的争论一直不休,强制缩进取消了花括号,程序看起来整齐,但是却带来一部分问题。比如不能在其他电脑上运行之类的。这里有一片文章来说明这个问题:《我看Python代码缩进》。

举个例子:

代码如下:

age =13;
if age<21 :
    print '不能买酒'
    print '呵呵呵,这句话在if之中'
print '这句话在if之外'

结果应该不难想象。

image

如果 age=33 那么就应该只输出一句话,让我们来试一下。

age =33;
if age<21 :
    print '不能买酒'
    print '呵呵呵,这句话在if之中'
print '这句话在if之外'

image

posted @ 2013-02-05 17:20  传说中的福利君  阅读(1044)  评论(0编辑  收藏  举报