• 面向对象程序设计1-类的定义和使用


    第1关:数字时钟走字

    任务描述

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

    相关知识

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

    编程要求

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

    代码:

    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. clock=Clock(h,m,s)
    37. print(clock.show())
    38. i=0
    39. while i<59:
    40. i+=1
    41. clock.run()
    42. print(clock.show())
    43. # **************end*************#
    44. if __name__ == '__main__':
    45. 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. a = self.x-other.x
    40. b = self.y-other.y
    41. return sqrt(a**2+b**2)
    42. # **************end*************#
    43. def __str__(self):
    44. return '(%s, %s)' % (str(self.x), str(self.y))

  • 相关阅读:
    python内置函数
    阿里云服务器u1和经济型e系列性能差异?哪个比较好?
    【Excel VBA和Python对照学习】创建字典
    Leetcode刷题详解——衣橱整理
    Vue 路由懒加载
    关于原型的一些总结
    QWeb 语法
    2023年四川省安全员B证证模拟考试题库及四川省安全员B证理论考试试题
    KNN(下):数据分析 | 数据挖掘 | 十大算法之一
    Spring进阶(四):Boot
  • 原文地址:https://blog.csdn.net/ANYOUZHEN/article/details/134536215