2016-03-23 12 views
0

私はDTNネットワークのシミュレーションを構築しようとしています。時間、送信元アドレス、および宛先アドレスを表す3つの要素を持つファイルを読み取ります。問題は、私がこれまでに持っていたこのコードではエラーメッセージが出るということです。私はPythonやその他のコーディングプログラムについて知りません。チュートリアルにちょうど従っています。TypeError: 'int'型の引数が反復型シミュレータではありません

import xlsxwriter as xlwt 

#xbook = xlwt.Workbook("Test.xlsx") 
#xsheet1 = xbook.add_worksheet("singlehop") 

base_time = 1390911881273 
M = [] 

def epidemic(_sa, _da): 
    global base_time, M 
    M = set([_sa]) 
    for line in open("C:/simulator/new_contact.txt").readlines(): 
     t, sa, da = line.strip().split() 

     if sa in M: 
      M.add(da) 
      if _da in M: 
       return (float(t) - base_time)/1000.0 

t = epidemic(1, 10) 
print (M)     
#     xsheet1.write(a, 0, sa) 
#     xsheet1.write(a, 1, da) 
#     xsheet1.write(a, 2, t) 

#xbook.close() 

あなたの助けを借りてくれてありがとうございました。私はもうイタレーション問題はありません。しかし、このコードの結果は私にM = {1}を与えました.1から10までのホップをMに追加していません。

+2

'M =(sa)'は 'M = sa'と同等です。シングルトンタプルを作成するには、 'M =(sa、)'を使います。しかし、値がその単一項目と等しいかどうかをチェックするために、タプル内に単一の値をラップすることにはあまり意味がありません。 'もし_da == sa'が同じならば。 (ループの途中で 'M 'を修正しようとしましたか?その場合は、とにかくリストを使う必要があります) – chepner

+1

関連、' m'はどこにも定義されていません。それは 'M 'であるはずですか? – chepner

+0

はい私の意図は、Mのすべてのsaとdaを追加することです。なぜなら、AからDに移動するメッセージはBとCがMに入る必要があるからです。リストの問題は、繰り返し要素私はちょうどそれらのうちの1つがMに表示されることを望みます –

答えて

1

エラーメッセージは17行目ですので、この行をチェックしてみましょう。

if sa in M: 
    m.append(da) 

メッセージには、整数は反復可能ではなく、Mを反復処理したいというメッセージが表示されます。

最後にMが値を変更する点を見てみましょう。

M = (_sa) 

括弧は、あなたがこれを使用する場合のpythonで異なる作るいけない[]あなたがリストを取得ブラケット、ので、多分これは間違いでしょうか? _saはこの関数に与えられたパラメータであり、これは実際に整数であり、これは反復可能ではありません。

0

まずはチュートリアルへのリンクを貼ることができますか?整数ではない私が見ることができるものから収集

1)m.append(ダ)あなたはメートル 2を宣言していないので、動作しません)M =(_sa)されています 第二に、私はミスのカップルを見ます、Mは1を整数として取得します(これは反復可能ではありません)が、とにかくm.append(da)にヒットした場合、コードは失敗します。

+0

よく全体のコードのチュートリアルはありません。ちょうどこのチュートリアルでこのコードを作成しました。私はすでにm.append(da)をM.append(da)に変更しました。いずれにしても、整数が反復できない場合、どのようにM =()を修正できますか? –

+0

@DanielHernandez整数を反復することで何が期待されますか? – Querenker

+0

@DanielHernandez問題は、このエラーがPythonの初心者のチュートリアルを行う必要がある基本的なPythonを知っていることです。 M宣言を変更するだけではもっと複雑です。 – situation

関連する問題