def cal_score(data1): #data = {'name':'张三','sex':'M','age':37,'item':'StepExperiment','result':46} person = dict1['person'] criteria = dict1['criteria'] if data1['age'] >59: data1['age'] = 59 if data1['age'] <20: data1['age'] = 20 info = data1['sex']+str(data1['age']) bz = person[info] mx = criteria[bz][data1['item']] result = data1['result'] if data1['item'] == 'reaction': for bz1 in mx: if result > bz1: #print(bz1) score = mx.index(bz1,0) break else: score = 5 else: for bz1 in mx: if result < bz1: #print(bz1) score = mx.index(bz1,0) break else: score = 5 return(score) def cal_bmi(data1): # data = {'name':'张三','sex':'M','age':37,'item':'HeightWeight','result':'177.7,97.0'} person = dict4['person'] criteria = dict4['criteria'] if data1['age'] > 59: data1['age'] = 59 if data1['age'] <20: data1['age'] = 20 info = data1['sex']+str(data1['age']) bz = person[info] #print(bz) result = data1['result'] #print(data1['code'],result) height = int(float(result.split(',')[0])) weight = float(result.split(',')[1]) if str(height) not in criteria[bz]: score = 1 else: mx = criteria[bz][str(height)] if weight < mx[0]: score = 1 elif weight < mx[1]: score = 3 elif weight < mx[2]: score = 5 elif weight <= mx[3]: score = 3 elif weight > mx[3]: score = 1 return score