2017-01-14 5 views
-4

ダイナミックリングトポロジプロジェクト用です。具体的には、各ノードの名前をs1、s2 ... szとし、各ホストにh1-1、h1-2、... hz-nという名前を付ける必要があります。したがって、zはノードの数であり、nは各ノードに接続されたホストの数です。だから、私はノードのリストを持っている、私はキーとしてノードの別のホストのリストを持って使用しようとしている、そして私は使用するために辞書にそれらを置くことができます。どうすればこの目標を達成できますか?例のグラフは以下の通りです:リストをループして辞書に追加する方法

+3

?あなたのコードを表示し、正確にどこでそれに苦労しているのかを説明してください。 (なぜ、「node.js」タグを付けたのですか?) – UnholySheep

+0

ダイナミックミニネットトポロジを構築しようとしています。そこで以下のコードを投稿しました。 – angelionmaker

+0

私のコードが長すぎました...私は最初から解決策を試します...ありがとう... – angelionmaker

答えて

0

は、私はあなたがこの線に沿って何かを探していると思う:これは印刷されます

# run with python dynamictopo.py z n 
# e.g.: python dynamictopo.py 3 2 
import sys 

z = int(sys.argv[1]) # number of nodes 
n = int(sys.argv[2]) # number of hosts 

nodes = [] 
for i in range(0, z): 
    nodes.append("s" + str(i + 1)) 

print(nodes) 

dct = {} 
for j, node in enumerate(nodes): 
    hosts = [] 
    for h in range(0, n): 
     hosts.append("h" + nodes[j][1] + "-" + str(h + 1)) 
    dct[node] = hosts 

print(dct) 

[ 'S1'、S2 ''、「S3 '' h2-1 '、' h2-2 '、' s3 ':[' h3-1 '、' h3-2 ']、' s1 ':[' h1-1 ' 、 'h1-2']}コマンドライン引数として3と2を使用する場合。 dictionariesは順不同であることに注意してください。

またはこれを使用する:あなたは何をして試してみました

# run with python dynamictopo.py z n 
# e.g.: python dynamictopo.py 3 2 
import sys 

z = int(sys.argv[1]) # number of nodes 
n = int(sys.argv[2]) # number of hosts 

dct = {} 
for i in range(z): 
    hosts = [] 
    for h in range(0, n): 
     hosts.append("h" + str(i + 1) + "-" + str(h + 1)) 
    dct["s" + str(i + 1)] = hosts 

print(dct) 
+0

ありがとうございました! – angelionmaker

+0

問題ありません。あなたはここで新しいので、あなたはコメントの代わりに自分の答えを選びたいかもしれません。 –

+0

ちょうどフォローアップ、私は以下のような構文エラーが発生しました...理由を知っていますか? dct = {} ^ SyntaxError:無効な構文 – angelionmaker

関連する問題