# coding:utf-8class Num(object):def __init__(self, calNum):self.calNum = calNum@propertydef seqNum(self):i = 0while i < self.calNum:i += 1yield i@propertydef sumNum(self):return reduce(lambda sum, x: sum + x, xrange(self.calNum))@propertydef oddNum(self):return [ num for num in range(self.calNum) if num % 2 != 0 ]@propertydef evenNum(self):return [ num for num in range(self.calNum) if num % 2 == 0 ]@propertydef crossSumNum(self):sum = 0for i in xrange(self.calNum):if i % 2 == 0:sum = sum - ielse:sum = sum + ireturn sumdef Main():print "======================="print u"輸出1,2,3...10"print "======================="n = Num(10)for i in n.seqNum:print i,print "\r"print "======================="n = Num(101)print u"求和1+2+3+...+100"print "======================="print n.sumNumprint "======================="print u"輸出1...100范圍的奇數"print "======================="for i in n.oddNum:print i,print "\r"print "======================="print u"1...100范圍的偶數"print "======================="for i in n.evenNum:print i,print "\r"print "======================="print u"求和1-2+3-4-5+6...+100"print "======================="print n.crossSumNumif __name__ == '__main__':Main()