当前位置:   article > 正文

头歌python实训通关七——面向对象程序设计——基础_本题中已给出一个时钟类的定义,请模拟数字时钟走字过程。

本题中已给出一个时钟类的定义,请模拟数字时钟走字过程。

第1关:数字时钟走字

任务描述

本关任务:本题中已给出一个时钟类的定义,请模拟数字时钟走字过程。

相关知识

为了完成本关任务,你需要掌握:1.类和对象。

编程要求

根据提示,在右侧编辑器补充代码,模拟数字时钟走字,只需输出60次走字。

测试说明

平台会对你编写的代码进行测试:

测试输入:235958; 说明:输入格式为23,59,58,其中23为时,59为分,58为秒; 预期输出:

 
  1. 23:59:58
  2. 23:59:59
  3. 00:00:00
  4. 00:00:01
  5. 00:00:02
  6. 00:00:03
  7. 00:00:04
  8. 00:00:05
  9. 00:00:06
  10. 00:00:07
  11. 00:00:08
  12. 00:00:09
  13. 00:00:10
  14. 00:00:11
  15. 00:00:12
  16. 00:00:13
  17. 00:00:14
  18. 00:00:15
  19. 00:00:16
  20. 00:00:17
  21. 00:00:18
  22. 00:00:19
  23. 00:00:20
  24. 00:00:21
  25. 00:00:22
  26. 00:00:23
  27. 00:00:24
  28. 00:00:25
  29. 00:00:26
  30. 00:00:27
  31. 00:00:28
  32. 00:00:29
  33. 00:00:30
  34. 00:00:31
  35. 00:00:32
  36. 00:00:33
  37. 00:00:34
  38. 00:00:35
  39. 00:00:36
  40. 00:00:37
  41. 00:00:38
  42. 00:00:39
  43. 00:00:40
  44. 00:00:41
  45. 00:00:42
  46. 00:00:43
  47. 00:00:44
  48. 00:00:45
  49. 00:00:46
  50. 00:00:47
  51. 00:00:48
  52. 00:00:49
  53. 00:00:50
  54. 00:00:51
  55. 00:00:52
  56. 00:00:53
  57. 00:00:54
  58. 00:00:55
  59. 00:00:56
  60. 00:00:57

测试输入:000; 预期输出:

 
  1. 00:00:00
  2. 00:00:01
  3. 00:00:02
  4. 00:00:03
  5. 00:00:04
  6. 00:00:05
  7. 00:00:06
  8. 00:00:07
  9. 00:00:08
  10. 00:00:09
  11. 00:00:10
  12. 00:00:11
  13. 00:00:12
  14. 00:00:13
  15. 00:00:14
  16. 00:00:15
  17. 00:00:16
  18. 00:00:17
  19. 00:00:18
  20. 00:00:19
  21. 00:00:20
  22. 00:00:21
  23. 00:00:22
  24. 00:00:23
  25. 00:00:24
  26. 00:00:25
  27. 00:00:26
  28. 00:00:27
  29. 00:00:28
  30. 00:00:29
  31. 00:00:30
  32. 00:00:31
  33. 00:00:32
  34. 00:00:33
  35. 00:00:34
  36. 00:00:35
  37. 00:00:36
  38. 00:00:37
  39. 00:00:38
  40. 00:00:39
  41. 00:00:40
  42. 00:00:41
  43. 00:00:42
  44. 00:00:43
  45. 00:00:44
  46. 00:00:45
  47. 00:00:46
  48. 00:00:47
  49. 00:00:48
  50. 00:00:49
  51. 00:00:50
  52. 00:00:51
  53. 00:00:52
  54. 00:00:53
  55. 00:00:54
  56. 00:00:55
  57. 00:00:56
  58. 00:00:57
  59. 00:00:58
  60. 00:00:59
  1. from time import sleep
  2. class Clock(object):
  3. """数字时钟"""
  4. def __init__(self, hour=0, minute=0, second=0):
  5. """初始化方法
  6. :param hour: 时
  7. :param minute: 分
  8. :param second: 秒
  9. """
  10. self._hour = hour
  11. self._minute = minute
  12. self._second = second
  13. def run(self):
  14. """走字"""
  15. self._second += 1
  16. if self._second == 60:
  17. self._second = 0
  18. self._minute += 1
  19. if self._minute == 60:
  20. self._minute = 0
  21. self._hour += 1
  22. if self._hour == 24:
  23. self._hour = 0
  24. def show(self):
  25. """显示时间"""
  26. return '%02d:%02d:%02d' % \
  27. (self._hour, self._minute, self._second)
  28. def main():
  29. #h为时,m为分,s为秒
  30. h,m,s = input().split(',')
  31. h = int(h)
  32. m = int(m)
  33. s = int(s)
  34. # 请在此处添加代码 #
  35. # *************begin************#
  36. c=Clock(h, m, s)
  37. for i in range(60):
  38. print(c.show())
  39. c.run()
  40. # **************end*************#
  41. if __name__ == '__main__':
  42. main()

第2关:定义一个类描述平面上的点并提供移动点和计算到另一个点距离的方法

任务描述

本关任务:定义一个类描述平面上的点并提供移动点和计算到另一个点距离的方法。

相关知识

为了完成本关任务,你需要掌握:1.类和对象,2.math的相关操作。

编程要求

根据提示,在右侧编辑器补充代码,定义一个类描述平面上的点并提供移动点和计算到另一个点距离的方法。 说明:代码中有相关提示;

测试说明

平台会对你编写的代码进行测试

  1. from math import sqrt
  2. class Point(object):
  3. def __init__(self, x=0, y=0):
  4. """初始化方法
  5. :param x: 横坐标
  6. :param y: 纵坐标
  7. """
  8. self.x = x
  9. self.y = y
  10. def move_to(self, x, y):
  11. """移动到指定位置
  12. :param x: 新的横坐标
  13. "param y: 新的纵坐标
  14. :return : 无返回值
  15. """
  16. # 请在此处添加代码 #
  17. # *************begin************#
  18. self.x=x
  19. self.y=y
  20. # **************end*************#
  21. def move_by(self, dx, dy):
  22. """移动指定的增量
  23. :param dx: 横坐标的增量
  24. "param dy: 纵坐标的增量
  25. :return : 无返回值
  26. """
  27. # 请在此处添加代码 #
  28. # *************begin************#
  29. self.x += dx
  30. self.y += dy
  31. # **************end*************#
  32. def distance_to(self, other):
  33. """计算与另一个点的距离
  34. :param other: 另一个点,坐标为(other.x,other.y)
  35. :return :返回两点之间的距离
  36. """
  37. # 请在此处添加代码 #
  38. # *************begin************#
  39. dx = self.x - other.x
  40. dy = self.y - other.y
  41. return sqrt(dx ** 2 + dy ** 2)
  42. # **************end*************#
  43. def __str__(self):
  44. return '(%s, %s)' % (str(self.x), str(self.y))

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/632315
推荐阅读
相关标签
  

闽ICP备14008679号