2017-11-08 28 views
-3

私はPython 2でテキストベースのRPGをプログラミングしていますが、15行目でこのエラーが発生しています。 "SyntaxError:無効な構文"。私は多くのことを試みましたが、何も動作していないようです。Python - 「無効な構文エラー」が表示されるのはなぜですか?

def explore(self): 
    if self.state != 'normal': 
     print "%s is too busy right now!" % self.name 
     self.enemy_attacks() 
    else: 
     if x > 0: 
      print "%s's eyes adjust to the light and %s explores a strange passage." % (self.name, self.name) 
     if randint(0, 1): 
      self.enemy = Enemy(self) 
      print "%s encounters %s!" % (self.name, self.enemy.name) 
      self.state = 'fight' 
     else: 
      if x > 1: 
       if x < 2: 
        print: "%s explores the strange passage in hopes of finding ways out" % self.name 
+1

印刷後にコロン(:)を取り除く – Nick

+2

別名:このPython 3をタグ付けしましたが、Python 3では、印刷する引数の前後にかっこを使用する必要があり、%sの書式設定は多少ファッションから外れています。あなたのコードがあなたのPythonバージョンと一致するかどうかを再確認したいかもしれません。 – DSM

答えて

1

まず、印刷後にコロンが付いています。次に、このような間違いを避けるためにprintを関数として使用します。第三に、printを関数として使用することを忘れるために、10年未満のPythonのバージョンを使用してください(Python 2はもう使用しないでください)。最後に、printfスタイルではなく、formatを使用します。

+0

printを関数として使用しても、このような間違いを避けることはできません。/ – Shadow

+0

いいえ、このコードを読んでいる間は、良い方法を試してみましょう;) –

+0

あまりにも多くの人が、将来は私がこれが良い習慣だと思うようにする...実際には忘れることは別の簡単なことだと思う。実際、この方法で印刷を使用することを促進しようとするなら、その未来を取り込むべきであることを明確にすべきだと思います。そうでなければ、何を印刷するべきであると思うのではなく、なぜタプルを印刷するのか、 。 – Shadow

1

あなたが言ったように、あなたはpython2を使用しています。だから、print文のためだけではなく、

print: "%s explores the strange passage in hopes of finding ways out" % self.name 

エラーの

print "%s explores the strange passage in hopes of finding ways out" % self.name 

を使用 - コロン(:)プリント後には存在しないはずです。

関連する問題