python小练习之一

下面的练习本身不难,比如打印1到10,计算1+2+3+...+100 ,最后一个是计算 1-2+3-4...-100
用了类的方法实现
用了列表生成器
用“高级”一丢丢的写法来实现这些小练习

# coding:utf-8

class Num(object):

    def __init__(self, calNum):
        self.calNum = calNum

    @property
    def seqNum(self):
        i = 0
        while i < self.calNum:
            i += 1
            yield i

    @property
    def sumNum(self):
        return reduce(lambda sum, x: sum + x, xrange(self.calNum))

    @property
    def oddNum(self):
        return [ num for num in range(self.calNum) if num % 2 != 0 ]

    @property
    def evenNum(self):
        return [ num for num in range(self.calNum) if num % 2 == 0 ]

    @property
    def crossSumNum(self):
        sum = 0
        for i in xrange(self.calNum):
           if i % 2 == 0:
               sum = sum - i
           else:
               sum = sum + i
        return sum


def 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.sumNum
    print "======================="
    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.crossSumNum

if __name__ == '__main__':
    Main()

转载于:https://www.cnblogs.com/haozike/p/python_exercises_1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值