• 类和函数-学习笔记


    原型和补丁(prototype and patch):一种开发方案,编写一个程序的初稿,测试,发现错误时修正它们。
    设计开发(designed development):一种开发方案,需要对问题有更高层次的理解,比增量开发或原型开发更有计划性。
    纯函数(pure function):一种不修改任何作为参数传入的对象的函数。大部分纯函数是有返回值的(fruitful)。
    修改器(modifier):一种修改一个或多个作为参数传入的对象的函数。大部分修改器没有返回值;即返回 None 。
    函数式编程风格(functional programming style):一种程序设计风格,大部分函数为纯函数。
    不变式(invariant):在程序执行过程中总是为真的条件。
    断言语句(assert statement):一种检查条件是否满足并在失败的情况下抛出异常的语句。

    # -*- coding: utf-8 -*-
    """
    Created on Sat Feb 24 10:16:17 2018

    @author: gzwuqiang3
    """

    import sys
    print(sys.getdefaultencoding())


    class Time:
    """Represents the time of day.

    attributes:hous,minute,second
    """

    time = Time()
    time.hour = 11
    time.minute = 29
    time.second = 30
    #print(time.second)

    def add_time(t1,t2):
      sum = Time()
      sum.hour = t1.hour + t2.hour
      sum.miunte = t1.minute + t2.minute
      sum.second = t1.second + t2.second

      if sum.second >= 60:
        sum.secon -= 60
        sum.miunte += 1
      if sum.miunte >= 60:
        sum.miunte -=60
        sum.hour += 1

      return sum

    start = Time()
    start.hour = 9
    start.minute = 45
    start.second = 0

    duration = Time()
    duration.hour = 1
    duration.minute = 35
    duration.second = 0

    done = add_time(start, duration)
    print(done)

    def increment(time,seconds):
      time.second += seconds
      if time.second >= 60:
        time.second -=60
        time.miunte += 1
      if time.minute >= 60:
        time.minute -=60
        time.hour +=1

    print(increment)

    #把 Time 对象转成整数的函数
    def time_to_int(seconds):
      minutes = time.hour * 60 + time.minute
      seconds = minutes * 60 + time.second
      print(seconds)
    #print(time_to_int)
    # 一个把整数转换为 Time 对象
    def int_to_time(seconds):
      time = Time()
      minutes,time.second = divmod(seconds, 60)
      time.hour, time.minute = divmod(minutes,60)
      return time

    #
    def add_time(t1, t2):
      seconds = time_to_int(t1) + time_to_int(t2)
      return int_to_time(seconds)


    def valid_time(time):
      if time.hour < 0 or time.minute < 0 or time.second < 0 :
        return False
      if time.hour >= 60 or time.minute >= 60 or time.second >= 60:
        return False
      return True

    def add_time(t1,t2):
      if not valid_time(t1) or not valid_time(t2):
        raise ValueError('invalid Time object in add_time')
      seconds = time_to_int(t1) + time_to_int(t2)
      return int_to_time(seconds)

    #assert语句,检查一个给定的不变式并在失败的情况下抛出异常:
    def add_time(t1,t2):
      assert valid_time(t1) and valid_time(t2)
      seconds = time_to_int(t1) + time_to_int(t2)
      return int_to_time(seconds)


  • 相关阅读:
    Jquery 改变样式
    2017年04月06日 开启博客之路
    SVN-简要说明
    wp8 入门到精通 高仿微信发信息 键盘不消失
    wp8 入门到精通 仿QQPivot 提示数量
    wp8 入门到精通 虚拟标示符 设备ID
    wp8 入门到精通 测量代码执行时间
    wp8 入门到精通 聊天控件
    wp8 入门到精通 抓包
    wp8 入门到精通 LINQ to SQL
  • 原文地址:https://www.cnblogs.com/kimi765096/p/8467420.html
Copyright © 2020-2023  润新知