最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python实现方便使用的级联进度信息实例

来源:动视网 责编:小采 时间:2020-11-27 14:33:20
文档

Python实现方便使用的级联进度信息实例

Python实现方便使用的级联进度信息实例:本文实例讲述了Python实现方便使用的级联进度信息的方法。分享给大家供大家参考。具体实现方法如下: class StepedProgress: '''方便显示进度的级联进度信息。 ''' def __init__(self, stockPercent=[1], parentProgress=No
推荐度:
导读Python实现方便使用的级联进度信息实例:本文实例讲述了Python实现方便使用的级联进度信息的方法。分享给大家供大家参考。具体实现方法如下: class StepedProgress: '''方便显示进度的级联进度信息。 ''' def __init__(self, stockPercent=[1], parentProgress=No


本文实例讲述了Python实现方便使用的级联进度信息的方法。分享给大家供大家参考。具体实现方法如下:

class StepedProgress:
 '''方便显示进度的级联进度信息。
 '''
 def __init__(self, stockPercent=[1], parentProgress=None):
 self.percent = 0
 self.info = ''
 self.subProgress = []
 self.cur_running_process = 0
 self.stockPercent = stockPercent
 self.parentProgress = parentProgress
 # 重新计算进度比,防止初始化时的值加起来不是1
 w = 0.0
 for p in self.stockPercent:
 w += p
 for i in range(0, len(stockPercent)):
 stockPercent[i] = stockPercent[i]/w
 # 初始化子进度
 if len(stockPercent) == 1:
 self.subProgress = None
 else:
 for p in self.stockPercent:
 self.subProgress.append(StepedProgress(parentProgress=self))
 def subprogress(self, index):
 if index >= self.subcount():
 return self.subProgress[self.subcount()-1]
 elif index < self.cur_running_process:
 return self.subProgress[self.cur_running_process]
 else:
 self.cur_running_process = index
 return self.subProgress[index]
 def subcount(self):
 return len(self.subProgress)
 def notifyParentProgress(self, percent, info=None):
 new_percent = 0.0
 for i in range(0, self.cur_running_process):
 new_percent += self.stockPercent[i]
 new_percent += percent/100.0 * self.stockPercent[self.cur_running_process]
 new_percent *= 100.0
 self.notifyProgress(new_percent, info)
 def notifyProgress(self, percent, info=None):
 if percent > self.percent:
 self.percent = percent
 if info is not None:
 self.info = info
 if self.parentProgress is not None:
 self.parentProgress.notifyParentProgress(percent, info)
 else:
 print self.info[:77].ljust(80, '.'), "[%0.1f%%]"%self.percent
if __name__ == "__main__":
 s = StepedProgress([60, 40])
 s.notifyProgress(10, 'aaa')
 s1 = s.subprogress(0)
 s1.notifyProgress(50, 'bbb')
 s3 = s.subprogress(1)
 s3 = StepedProgress([1, 1], parentProgress=s3.parentProgress) #级联子进度
 s3.notifyProgress(20, 'ddd')
 s4 = s3.subprogress(0)
 s4.notifyProgress(50, 'eee')
 s5 = s3.subprogress(1)
 s5.notifyProgress(50, 'fff')

输出结果:

aaa............................................................................. [10.0%]
bbb............................................................................. [30.0%]
ddd............................................................................. [68.0%]
eee............................................................................. [70.0%]
fff............................................................................. [90.0%]

希望本文所述对大家的Python程序设计有所帮助。

文档

Python实现方便使用的级联进度信息实例

Python实现方便使用的级联进度信息实例:本文实例讲述了Python实现方便使用的级联进度信息的方法。分享给大家供大家参考。具体实现方法如下: class StepedProgress: '''方便显示进度的级联进度信息。 ''' def __init__(self, stockPercent=[1], parentProgress=No
推荐度:
标签: 实例 python 级联
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top