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