前提・実現したいこと
以下のソースコードの通り、[20, 20, 20, 20]という配列の各要素が、等確率で1ステップごとに1増えるか、あるいは1減るかというプログラムを書いております。
そこで、それぞれの要素について、0になったらストップして、最後にそれぞれの要素が0になるのにかかったステップ数を計算するというのを実現したいのですが、そこの段階のコードでSyntaxエラーが出てるようです。エラーの修正方法をご教示いただけるでしょうか。
発生している問題・エラーメッセージ
File "randomwalk2.py", line 14 while position[p] > 0 ^ SyntaxError: invalid syntax
該当のソースコード
Python
1#!/usr/bin/env python 2# -*- coding: utf-8 3import math 4import numpy as np 5import matplotlib.pyplot as plt 6import matplotlib.animation as animation 7import pylab 8 9position=[20,20,20,20] 10plus=[-1,1] 11step=[0,0,0,0] 12weight= [0.5,0.5] #random.choice関数に確率の重み付け 13for p in range(1,5): 14 while position[p] > 0 15 position[p] = position[p] + np.random.choice(plus, p = weight) 16 step[p] = step[p] + 1 17print(step)
試したこと
該当する行の0の前のスペースを入れたり消したりしましたが、やはり同じ場所でエラーが出ます。
回答1件
あなたの回答
tips
プレビュー