按照视频内的内容,已经写出了一个计时器,但是小甲鱼要求的内容是,不能让时间出现负值,所以需要修改计时器

自己写的和小甲鱼写的完全不一样…..小甲鱼那个应该是先计算,再最后赋值并打印

自己这个是先不管他有没有负值,把值先写出来,再进行借位计算,如下。

import time as t

class mytimer():

def __str__(self):

return self.prompt #重写__str__魔法方法,可以让程序在调用print函数时候,打印当时状态的prompt内容

__repr__=__str__ #将__repr__和__str__相同化,这样在解释器里面直接敲实例的话,就可以调用语句了

def __add__(self,other):

sum=[]

self.prompt=’总共运行了: ‘

for key in range(6):

sum.append(self.lasted[key]+other.lasted[key])

if sum[key]:

self.prompt+= str(sum[key])+self.unit[key]

return self.prompt

def __init__(self):

self.unit=[‘年’,’月’,’日’,’小时’,’分钟’,’秒’]

self.borrow=[0,12,31,24,60,60] #这一行及其重要,因为本来我是把借位计算分成5个if写的,后来看到小甲鱼这样添加了列表,发现可以用for来迭代写

self.begin=0

self.end=0

self.prompt=’还未开始计时’ #初始状态,如果在刚刚实例化还未开始的时候直接在解释器输入实例,那会提示你还未开始计时

def start(self):

self.begin=t.localtime() #计时开始

self.prompt=’请先调用stop()结束计时’ #如果在当前状态,使用解释器输入实例,他会提示你先结束

print (‘开始计时’)

def stop(self):

if not self.begin: #如果已经开始计时,意思里就是self.begin里面是有内容的话

print (‘请先调用start()开始计时’)

else:

self.end=t.localtime() #计时结束

self._cal() #调用内部函数_cal

print (‘计时结束’)

def _cal(self):

self.lasted=[] #制作一个空列表,以存放每个单位上面相减的值

self.prompt=’总共运行了’

for i in range(6):

self.lasted.append(self.end[i]-self.begin[i]) #先向空列表生成数据,不管正负值

print (self.lasted) #这一句只是我后期用于检验用的,可以删除

for n in range(6): #第二次迭代,这里就是开始检验是否有数值为负了

if self.lasted[5-n]<0: #我们从最小单位描述开始检查,如果小于0

self.lasted[5-n-1]=self.lasted[5-n-1]-1 #则前一位数字减1

self.lasted[5-n]=self.borrow[5-n]+self.lasted[5-n] #同时,这个单位的周期数字去加上目前这一位的数字

else:

pass

if self.lasted[n]: #如果计算后还是有内容的:则加入prompt的语句

self.prompt+=str(self.lasted[n])+self.unit[n]

print (self.prompt)

self.begin=0 #重置计数器

self.end=0 #重置计数器

小甲鱼python课后题答案_Python 小甲鱼教程 课后练习44相关推荐

  1. 小甲鱼python课后题答案_小甲鱼python视频教程下载|小甲鱼零基础学python视频教程附习题答案_ - 极光下载站...

    小甲鱼零基础学python视频教程下载,最完整的小甲鱼python语言学习视频来啦,想要学习python语言的小白们不妨点击观看视频在下学习吧! Python语言介绍 Python是一种面向对象的解释 ...

  2. c语言程序设计教程课后选择题答案,C语言程序设计教程课后习题包括答案.docx...

    C + + 语言程序设计教程课后习题答案 ( 2 0 1 1 - 0 3 - 0 9 1 7 : 2 4 : 2 2 ) 标签:杂谈分类:学习 第1 章 C++ 语言概述 练习题 1 判断题 ×1. ...

  3. 小甲鱼python课后题答案_小甲鱼Python课后习题-仅学习 - 随笔分类 - 小红帽爱吃大灰狼 - 博客园...

    摘要:1.字典是Python中唯一的映射类型 2.字典包含两个要素:键(key)和值(value)他们是成对出现的,用大括号括起来,多对存在时用逗号隔开. 3.可以用dict()直接创建字典,如dic ...

  4. python嵩天第七章课后题答案_python语言程序设计嵩天第七章答案

    参考答案如下 直流负反馈可以稳定电路的静态工作点,嵩天交流负反馈可以改善放大器的动态性能. 餐厅环境准备包括:程序( ).背景音乐.通风及温度的准备. 设计下列代码的输出结果是______var a ...

  5. python第五章课后题答案_python程序设计基础(嵩天)第五章课后习题部分答案

    原博文 2019-10-13 13:50 − 第五章p1515.2:实现isodd()函数,参数为整数,如果参数为奇数,返回true,否则返回false.def isodd(s): x=eval(s) ...

  6. python大学教程吕云翔课后题答案_python大学教程吕云翔.ppt

    第五章 Python 数据结构 列表 ? 列表:类似于 C 语言中的数组概念,一个列表中可以包含任意个数据, 每一个数据称为元素. Python 允许同一个列表中元素的数据类型不同, 可以是整数.字符 ...

  7. python程序设计题答案_Python程序设计课后习题答案

    内容来自用户:沃德店铺 一.选择题32313133353236313431303231363533e4b893e5b19e31333433646365 1.Python语言属于().C A.机器语言B ...

  8. python第六章课后题答案_python 核心编程第六章课后题自己做的答案

    6–6. 字符串.创建一个 string.strip()的替代函数:接受一个字符串,去掉它前面和后面的 空格(如果使用 string.*strip()函数那本练习就没有意义了) 1 'Take a s ...

  9. python基础训练题答案_python练习题-答案

    . Python 练习题库 By 郑红波 2017-12-19 一. 填空题 1. Python 标准库 math 中用来计算平方根的函数是 __________ . ( sqrt ) 2. 在 Py ...

最新文章

  1. FeignClientAutoConfiguration
  2. poj 3468 线段树
  3. Docker构建Spark镜像手动执行命令示例
  4. delphi 脚本引擎比较
  5. RedHat Linux 7.3基础环境搭建
  6. oracle 强制索引_当唯一索引遇见分布式数据库
  7. hardmard积 用什么符号表示_表面粗糙度=表面光洁度?数值为什么用0.8、1.6、3.2等表示?...
  8. ★LeetCode(448)——找到所有数组中消失的数字(JavaScript)
  9. Visual Studio 2017在编译OpenCV 4.2.0时出现编译器错误C2001:常量中有换行符
  10. 请输入30名同学的c语言成绩,求大神帮忙做这几道结构体的c语言!今天就要交实验报告!急啊急!!!!! (1)一个班级共有30名学...
  11. JS组件系列——表格组件神器:bootstrap table(二:父子表和行列调序)
  12. 手机通达信正在连接服务器,通达信服务器全部连接超时
  13. [内核内存] [arm64] 内存初始化4---bootm_init
  14. gis连接表格到数据库失败_ArcGIS添加Excel数据的新老问题(连接数据库失败)
  15. Matlab选题之十大热门课题推荐
  16. Java顺序结构综合练习三之金融投资收益计算
  17. shader 学习之 pass 块
  18. fatal: unable to access 'https://chromium.googlesource.com/webm/libwebp/': Failed to connect to chro
  19. 北京科技大学计算机导师怎么样,【计算机考研导师】北京科技大学计算机科学与技术系硕士生导师王卫苹...
  20. RealView® 编译工具 汇编器指南

热门文章

  1. Visual Studio 2008 单元测试
  2. 《星际争霸 / StarCraft 》超经典游戏!
  3. 为什么我的resharper控件安装之后没有显示
  4. 更改WebBrowser控件的用户代理
  5. java的(PO,VO,TO,BO,DAO,POJO)解释1
  6. Linux安全移除U盘,Windows 10用户可以快速移除U盘
  7. 能分清直方图和柱状图,你就是图表届的“头号”玩家|图表家族#36
  8. 自学编程的 6 个技巧总结
  9. 如何用C语言编写PHP扩展的详解
  10. 反思laravel-admin的使用总结