'pathIndex': count, # 路径编号 'sendSet': [], 'receiveSet': [] } ReputationSet.append(reputation) count = count + 1 pathIndex = newpathset.index(newpath) ReputationSet[pathIndex]['sendSet'].append(pack) pTA = NS[path[i]].get_pTA() pDA = NS[path[i]].get_pDA() pRA = NS[path[i]].get_pRA() pN = 1 - pTA - pDA - pRA p = random.random() if p <= pN: pack.setFlag("N") # 正常,不作修改,成功传到下一个节点 else: pack.setFlag("D") # 代表损坏 # 各个节点按路径返回包 for j in range(len(newpath) - 1, -1, -1): pTA = NS[path[j]].get_pTA() pDA = NS[path[j]].get_pDA() pRA = NS[path[j]].get_pRA() pN = 1 - pTA - pDA - pRA p = random.random() if p <= pN: continue else: pack.setFlag("D") break if pack.getFlag() == "N":