<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_quality_report_string(self):
 """get a report on quality score distribution. currently prints to stdout"""

    if not self._quality_distro:
      self.analyze_quality()
    ostr = ""
    for type in sorted(self._quality_distro.keys()):
      total = sum([ord(x)*self._quality_distro[type][x] for x in self._quality_distro[type]])
      cnt = sum([self._quality_distro[type][x] for x in self._quality_distro[type]])
      if cnt == 0: continue
      print 'type: '+type+' '+str(cnt)+' '+str(float(total)/float(cnt))
    return ostr