defsj(x, y): //已知车型和距离求时间 if (x == 'K'): xx = random.randint(80, 120) return y / xx * 60 if (x == 'D'): xx = random.randint(160, 250) return y / xx * 60 if (x == 'G'): xx = random.randint(250, 350) return y / xx * 60
1 2 3 4 5 6 7 8
defjg(x, y): //求价格,数据来源于网上 if (x == 'K'): return0.1 * y elif (x == 'D'): return0.3 * y else: return0.46 * y
e = [] lc = [[0for i inrange(1001)] for j inrange(1001)] # 路程
defmakeEdge(): for i inrange(1, 100000): u = random.randint(1, 1000) v = u while (u == v): v = random.randint(1, 1000) #print(u, v) if (lc[u][v]): continue aa = edge() aa.val = random.uniform(1, 1000) aa.u = u aa.v = v e.append(aa) ab = edge() ab.u = aa.v ab.v = aa.u ab.val = aa.val e.append(ab) lc[u][v] = aa.val lc[v][u] = aa.val
l = 0 cnt = 0 jl = [0] * 100
defsj(x, y): if (x == 'K'): xx = random.randint(80, 120) return y / xx * 60 if (x == 'D'): xx = random.randint(160, 250) return y / xx * 60 if (x == 'G'): xx = random.randint(250, 350) return y / xx * 60
defjg(x, y): if (x == 'K'): return0.1 * y elif (x == 'D'): return0.3 * y else: return0.46 * y
if __name__ == '__main__': makeEdge() cnt = 0 l = len(e) # e的大小 train_info = {} dat = json.loads(json.dumps(train_info)) dat["train"] = [] for i inrange(1, 10000): # 10 0000 num = random.randint(1000, 10000) qnum = random.choice(['K', 'D', 'G']) sf = random.randint(1, 1000); # 始发站 train_info = {} trainTime = [0] * 100 trainTime[1] = random.randint(1, 43201) zs = random.randint(2, 30) a = [0] * 1001 llc = [0] * 100 cnt = 1 mq = sf a[mq] = 1 jl[cnt] = mq data = json.loads(json.dumps(train_info)) data['trainNum'] = str(qnum + str(num)) origin = [] data['origin'] = [] for j inrange(1, zs): a[mq] = 1 dd=cnt;hh=0 while(dd == cnt):
for k inrange(0, l): if (e[k].u == mq and a[e[k].v] == 0and random.randint(1, 1000) % 3 == 0): a[e[k].v] = 1
article = json.dumps(data, ensure_ascii=False) #print(article) withopen('data.txt', 'w') as f: #data = 'some data to be written to the file' article = json.dumps(dat, ensure_ascii=False) f.write(article)