2017-08-14 25 views
0

私はhttps://repl.itというWebサイトでコーディングしています。私はセクションを書き換えて試してみたE901、またはTokenError:repl.itの複数行文のEOF

E901, or TokenError: EOF in multi-line statement`. 

、インデントをやり直し、および変数の名前を変更: PEP8は、最後の行でエラーが返されます。

-EDIT- 字下げとif文を確認しましたので、ここに新しいコードがあります。それはまだ同じ問題を引き上げる。私はコードをあまりよくしていないので、おそらくあなたがバットの権利を理解していないことに注意してください。また、コードにコメントを追加しようとします。

from random import randint 
from time import sleep 
advList = ["Crawl", "Walk", "Run", "Sprint"] 
atkList = ["[A] Punch", "[B] Kick", "[C] Magic"] 
restart = 1 
myHp = 50 
zomHp = 50 
battle = 50 

#Game Over Screen 
if myHp <= 0: 
    print("YOU DIED") 
    print("GAME OVER") 
    quit() 

#Endless Game Function 
for i in range(0, reset): 

    #Traveling Loop 
    while battle > 5: 
     print(advList) 
     trv = str(input("How would you like to advance?")) 

     if trv == advList[0]: 
      sleep(8) 
      myHp = myHp + 10 
      battle = randint(0, 40) 
     if trv == advList[1]: 
      sleep(4) 
      myHp = myHp + 5 
      battle = randint(0, 30) 
     if trv == advList[2]: 
      sleep(2) 
      myHp = myHp + 2 
      battle = randint(0, 20) 

     if trv == advList[3]: 
      sleep(1) 
      myHp = myHp + 1 
      battle = randint(0, 10) 

#Max Health Cap 
     if myHp >= 50: 
      myHp = 50 
     print("My Hp: ", myHp) 
     print('') 


#Battle Sequence 
    if battle <= 5: 
     print ("A zombie approaches!!!") 
     sleep(1) 
     while battle <= 5: 
      print (atkList) 
      atk = str(input("How do you attack?")) 
      #Randomizes Hit Chance 
      khit = randint(0, 2) 
      phit = randint(0, 1) 
      mhit = randint(0, 5) 
      zhit = randint(0, 4) 
#Kick Attack 
      if atk == "B": 
       dmg = randint(1, 25) 
       if khit != 1: 
        print ("Your Attack Missed...") 

       if khit == 1: 
        zomHp = zomHp - dmg 
        print (("The Attack Hits for %s damage") %(dmg)) 
#Punch Attack 
      if atk == "A": 
       dmg = randint(1, 10) 
       if phit == 0: 
        print ("Your Attack Missed...") 

       if phit == 1: 
        zomHp = zomHp - dmg 
        print (("The Attack Hits for %s damage") %(dmg)) 
#Magic Attack 
      if atk == "C": 
       dmg = randint(1, 50) 
       if mhit != 0: 
        print ("Your Attack Missed...") 

       if mhit == 0: 
        zomHp = zomHp - dmg 
        print (("The Attack Hits for %s damage") %(dmg) 
#Zombie's Hit 
      if zhit == 0: 
       zdmg = randint(1, 10) 
       myHp = myHp - zdmg 
       print (("The Zombie's attack Hits for %s damage")(zdmg)) 
       print ("My Hp:", myHp) 
#Zombie Miss 
      if zhit != 0: 
      print ("My Hp:", myHp) 
#Zombie Dies 
      if zomHp <= 0: 
       print ("You defeated the Zombie!!!") 
       battle = 50 
#Round End 
    print("Zombie's HP:", zomHp) 
    print('') 
+1

'else zhit!= 0:'は有効なPythonコードではありません。下の行は正しくインデントされていません。 'elif zhit!= 0:'を作成するか、単にelse: 'とすると、その時点でその条件がfalseになることはありません。 – jasonharper

答えて

0

は私が

File "<ipython-input-3-252d942b8c20>", line 82 
if zhit == 0: 
      ^
SyntaxError: invalid syntax 

だから、私は「zhit」比較演算子と、この競合としてゼロに初期化されるべきでないことに気づいた行にエラーを取得しています。第2に、コードにコメントを追加してゲームの目的を理解できる場合に役立ちます。 pep8のEOFエラーについては、pep8のドキュメントが役に立つかもしれませんが、EOF901はE901のSyntaxErrorまたはIndentationErrorを指しています。 Pythonでは、適切なインデントが最も重要です。これが助けてくれることを願っていますhttp://pep8.readthedocs.io/en/release-1.7.x/intro.html

このコードをSublime、Atom、Visual Studioなどのテキストエディタにコピーし、デバッグモードに切り替えてコードを1行ずつ進めることもお勧めします。私はJupyterのノートブックでコードを試してみましたが、別のものですがこのエラーは見つかりませんでした。 https://repl.it/languages/python3サイトには独自のデバッグ環境もあります。おそらく、それがこのエラーの原因を特定するのに役立ちます。

+0

ありがとうございました!私がrepl.itを使う理由は、私が学校でオンラインでプログラムをするためです。 –

関連する問題