国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現方便使用的級聯進度信息實例

2019-11-25 17:33:01
字體:
來源:轉載
供稿:網友

本文實例講述了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.percentif __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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 无棣县| 纳雍县| 沾益县| 湘乡市| 平武县| 丹巴县| 江城| 清苑县| 阳谷县| 京山县| 确山县| 天镇县| 二手房| 石河子市| 外汇| 东平县| 河间市| 新营市| 安陆市| 祥云县| 高碑店市| 油尖旺区| 扬中市| 云梦县| 定襄县| 神木县| 丹阳市| 土默特右旗| 临清市| 石门县| 澜沧| 隆林| 湖口县| 垫江县| 自治县| 五河县| 兴仁县| 敦煌市| 新河县| 商洛市| 南木林县|