D&D のコンバット ヘルパーを作成しています。次の形式の .txt ファイルから各モンスターの統計情報を取得する予定です。
_Name of monster_
HP = 45
AC = 19
Fort = -3
というクラスを使用しており、.txt ファイルMonster
を反復処理します。__init__
それは問題なく繰り返されます。私の問題は、そのself.
前に変数を取得できないことです。Monsterfind()
モンスターの .txt ファイルへのパスを見つけるだけで、変数が正常に出力されるため、それが問題ではないことがわかります。
class Monster:
def __init__(self, monster):
"""Checks if the monster is defined in the directory.
If it is, sets class attributes to be the monster's as decided in its .txt file"""
self.name = monster.capitalize()
monstercheck = self.monsterfind()
if monstercheck != Fales:
monsterchck = open(monstercheck, 'r')
print monstercheck.next() # Print the _Name of Monsters, so it does not execute
for stat in monstercheck:
print 'self.{}'.format(stat) # This is to check it has the correct .txt file
eval('self.{}'.format(stat))
monstercheck.close()
print 'Monster loaded'
else: # if unfound
print '{} not found, add it?'.format(self.name)
if raw_input('Y/N\n').capitalize() == 'Y':
self.addmonster() # Function that just makes a new file
else:
self.name = 'UNKNOWN'
それはただ言う:self.AC = 5
SyntaxError: invalid syntax @ the equals sign
私のクラスや私__init__
の .
前もって感謝します