python 无向图的生成

来源:互联网 发布:海岛奇兵炮弹升级数据 编辑:程序博客网 时间:2024/05/16 19:49
import randomn = int(input("please input n:"))m = int(input("please input m:"))v = int(input("please input vote:"))#print(int(random.uniform(1,vote)))#n = 4#m = 6#v = 3source ={}for  i in range(n):    source[str(i)]=[]i = 0dest=[]while True:    #random.seed(i)    a = int(random.uniform(0,n))    b = int(random.uniform(0,n))    checkid = str(a)+"->"+str(b)    if checkid not in dest:        dest.append(checkid)        checkid = str(b)+"->"+str(a)        dest.append(checkid)        if a != b :            print(a,b)            vb = int(random.uniform(1,v+1))            source[str(a)].append(str(b)+','+str(vb))            source[str(b)].append(str(a)+','+str(vb))            i = i + 2            if i == m:                breakfor (k,v) in source.items():    str ="["    str =str + k+','+'0'+','+'[['+'],['.join(v)+']]'    print(str)    with open('f:/shao.txt','w+') as fid:        fid.write(str)        fid.write('\r\n')    



>>> 1 30 22 32 10 13 0[1,0,[[3,3],[2,1],[0,2]][0,0,[[2,3],[1,2],[3,3]][3,0,[[1,3],[2,3],[0,3]][2,0,[[0,3],[3,3],[1,1]]


0 0