import decimal def pN(num, d, ENE): cnt = "" if num == 0: cnt = "pN0" elif num == 1 and d <= 3 and ENE == '无': cnt = "pN1" else: cnt = "pN2+" return cnt def differentiation(txt): cnt = [0, 0, 0] ans = "" if txt.find("高") != -1: cnt[0] = 1 ans = ans + "Ⅰ级高分化\n" if txt.find("中") != -1: cnt[1] = 1 ans = ans + "Ⅱ级中分化\n" if txt.find("低") != -1: cnt[2] = 1 ans = ans + "Ⅲ级低分化\n" if cnt == [0, 0, 0]: ans = ans + "Ⅳ级未分化\n" return cnt, ans def exactNumber(txt): cnt = [] number = "" for i, char in enumerate(txt): if char in "0123456789./": number = number + char else: cnt.append(number) number = "" cnt.append(number) cnt = [i for i in cnt if i != ''] return cnt def pT(txt): txt.replace(" ", "") cnt = '' if txt.find(">10mm") != -1: cnt = "pt3" return cnt elif txt.find(">5mm") != -1: cnt = "pt2" return cnt score = max([decimal.Decimal(i) for i in exactNumber(txt)]) if score <= 5: cnt = "pT1" elif score > 5 and score <= 10: cnt = "pT2" elif score > 10: cnt = "pT3" return cnt def findDegree(txt): cnt = [0, 0, 0] ans = "" if txt.find("轻") != -1: cnt[0] = 1 ans = ans + "轻度\n" if txt.find("中") != -1: cnt[1] = 1 ans = ans + "中度\n" if txt.find("重") != -1: cnt[2] = 1 ans = ans + "重度\n" if cnt == [0, 0, 0]: ans = ans + "" return ans def findlymph(txt): if txt.find("淋巴结") != -1: return 1 else: return 0 def CuttingEdgePathology(txt): cnt = "" if txt.find("阳性") != -1 or txt.find("+") != -1: cnt = "阳性(+)" elif txt.find("异常增生") != -1: cnt = "有黏膜上皮异常增生" elif txt.find("阴性") != -1 or txt.find("-") != -1: cnt = "阴性(-)" else: cnt = "其他情况" return cnt def FindChar(txt): cnt = [] ans = [] charlist = ["分子结果", "免疫组化结果", "(", "(", ":", ":"] for i, char in enumerate(charlist): cnt.append(txt.find(char)) for i, flag in enumerate(cnt): if flag != -1: ans.append(flag) ans.append(-1) return ans if __name__ == '__main__': print(exactNumber('mm'))