第1关:数字时钟走字
任务描述
本关任务:本题中已给出一个时钟类的定义,请模拟数字时钟走字过程。
相关知识
为了完成本关任务,你需要掌握:1.类和对象。
编程要求
根据提示,在右侧编辑器补充代码,模拟数字时钟走字,只需输出60次走字。
代码:
from time import sleepclass Clock(object):"""数字时钟"""def __init__(self, hour=0, minute=0, second=0):"""初始化方法:param hour: 时:param minute: 分:param second: 秒"""self._hour = hourself._minute = minuteself._second = seconddef run(self):"""走字"""self._second += 1if self._second == 60:self._second = 0self._minute += 1if self._minute == 60:self._minute = 0self._hour += 1if self._hour == 24:self._hour = 0def show(self):"""显示时间"""return '%02d:%02d:%02d' % \(self._hour, self._minute, self._second)def main():#h为时,m为分,s为秒h,m,s = input().split(',')h = int(h)m = int(m)s = int(s)# 请在此处添加代码 ## *************begin************#clock=Clock(h,m,s)print(clock.show())i=0while i<59:i+=1clock.run()print(clock.show())# **************end*************#if __name__ == '__main__':main()
第2关:定义一个类描述平面上的点并提供移动点
任务描述
本关任务:定义一个类描述平面上的点并提供移动点和计算到另一个点距离的方法。
相关知识
为了完成本关任务,你需要掌握:1.类和对象,2.math的相关操作。
编程要求
根据提示,在右侧编辑器补充代码,定义一个类描述平面上的点并提供移动点和计算到另一个点距离的方法。 说明:代码中有相关提示;
from math import sqrtclass Point(object):def __init__(self, x=0, y=0):"""初始化方法:param x: 横坐标:param y: 纵坐标"""self.x = xself.y = ydef move_to(self, x, y):"""移动到指定位置:param x: 新的横坐标"param y: 新的纵坐标:return : 无返回值"""# 请在此处添加代码 ## *************begin************#self.x=xself.y=y# **************end*************#def move_by(self, dx, dy):"""移动指定的增量:param dx: 横坐标的增量"param dy: 纵坐标的增量:return : 无返回值"""# 请在此处添加代码 ## *************begin************#self.x+=dxself.y+=dy# **************end*************#def distance_to(self, other):"""计算与另一个点的距离:param other: 另一个点,坐标为(other.x,other.y):return :返回两点之间的距离"""# 请在此处添加代码 ## *************begin************#a = self.x-other.xb = self.y-other.yreturn sqrt(a**2+b**2)# **************end*************#def __str__(self):return '(%s, %s)' % (str(self.x), str(self.y))