python练习题12

  1. 定义一个类描述数字时钟
    
    from time import sleep
    
    class Clock(object):
        def __init__(self, hour, minute, second):
            self.hour = hour
            self.minute = minute
            self.second = second
    
        def run(self):
            self.second += 1
            if self.second == 60:
                self.second = 0
                self.minute += 1
                if self.minute == 60:
                    self.minute = 0
                    self.hour += 1
                    if self.hour == 24:
                        self.hour = 0
    
        def show(self):
            return '%02d:%02d:%02d' % \
                   (self.hour, self.minute, self.second)
    
    
    if __name__ == '__main__':
        clock = Clock(23, 59, 58)
        while True:
            print(clock.show())
            sleep(1)
            clock.run()
    

     

  2. 定义一个类描述一个可移动的点,提供移动和测距的方法
    class Spot(object):
        def __init__(self, x, y):
            self.x = x
            self.y = y
    
        def move_to(self, spot1):
            self.x = spot1.x
            self.y = spot1.y
    
        def move_by(self, x, y):
            self.x += x
            self.y += y
    
        def cal_distance(self, spot1):
            return ((spot1.x - self.x) ** 2 + (spot1.y - self.y) ** 2) ** 0.5
    
    
    if __name__ == '__main__':
        spot = Spot(10, 10)
        spot.move_to(Spot(30, 40))
        spot.move_by(10, 20)
        print(spot.x, spot.y)
        print(spot.cal_distance(Spot(0, 0)))

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值