私はJavaの経験を持つPythonの初心者です。私の高校の仮想ロボットチャレンジのためのPythonモジュールを書く必要があります。技術ベースの競技)クラブ。私は数日間この奇妙な問題を解決しようとしてきましたが、コード内のすべてのバグを修正するのに6時間しかかかりませんでした。ここでは、whileループは、関連する情報があり後に「無効な構文は、」常に最初の行で発生します 値が正しくリスト私のpythonモジュールを実行しているプログラムは、whileループの後に最初の行に構文エラーを返します。
関連するコードに追加されている点に注意してください。
interestlengthl=list()
interestlengthr=list()
interestpoint=list()
def do_examine(robot):
examinecount=0;
while (examinecount<(max(interestpoint)) <-the while loop
i=2+2 <-a innocent line used as an example, this returned an invalid syntax
maxpoint=max(interestpoint)
tomove=(currentposition-(max[interestpoint]-interestpoint(examinecount)))
robot.step_forward(tomove)
leftscan=robot.sense_steps(robot.SENSOR_LEFT)
rightscan=robot.sense_steps(robot.SENSOR_RIGHT)
if (rightscan==interestlengthr(examinecount):
robot.turn_right()
do_rowscan(robot)
if (leftscan==interestlengthl(examinecount):
robot.turn_left()
do_rowscan(robot)
examinecount+=1
robot.turn_right(2)
currentposition=robot.sense_steps(robot.SENSOR_FORWARD)
robot.turn_right(2)
関連のエラー:
File "L:\controllers\controller_zigzag.py", line 35
i=2+2
^
SyntaxError: invalid syntax
本当に?ブロックを開始するすべての文( 'def、if、for、while、class、try、with')は': 'で終わります。 –
' while 'の後に': 'が必要で、おそらく' i = 2他のインデントブロックよりもインデントされているため、「+ 2」になります。 – birryree
これを忘れて、私はそれを修正した。私はパラセーシスの間にオープニングを閉めていなかったし、何とかwhileループの後にa:を追加するのを忘れてしまった。私はそれを修正し、それは正常に働いた。 – cferrier1995