argumentのstateは保持したまま、情報を更新したnewStateを得たいと考えてます。
下記のコードなら、当初stateは入力した[0,0,0,0,0,0,0,0]が保持されるものと考えていたのですが、printで確認したところ、newStateと一緒に更新されてます。
もし更新されてしまう原因と、stateの更新を防ぐ方法をご存知でしたらご教授頂けませんでしょうか。
コード def V(state): if state.count(0)==0: return 0 else: #take an action(chose fragile site) print(state) [newState, newSite] = getNextState(state) print(state, newState)
結果
コード V([0,0,0,0,0,0,0,0,0]) [0, 0, 0, 0, 0, 0, 0, 0, 0] [1, 0, 0, 0, 0, 0, 0, 0, 0] [1, 0, 0, 0, 0, 0, 0, 0, 0]
コード def getNextState(state): newState = state for i in Sites: if newState[i] == 0: newState[i]=1 newSite = i break return (newState, newSite)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。