ここに私がPythonで得たいくつかのコードがあります.Pythonでクラスの文字列メソッドを出力する方法について行き詰まっています...できれば助けてください...たくさん...
コードは以下です!
class Rat:
""" A rat caught in a maze. """
# Write your Rat methods here.
def __init__(Rat, symbol, row, col):
Rat.symbol = symbol
Rat.row = row
Rat.col = col
num_sprouts_eaten = 0
def set_location(Rat, row, col):
Rat.row = row
Rat.col = col
def eat_sprout(Rat):
num_sprouts_eaten += 1
def __str__(self):
""" (Contact) -> str
Return a string representation of this Rat.
"""
result = 'To: '
for contact in Rat.symbol:
result = result + '{0}, '.format(Rat.symbol)
result = result + '\nSubject: {0}'.format(Rat.row)
result = result + '\n{0}'.format(Rat.col)
return result
#return '{0} {1} <{2}>'.format(Rat.symbol,
# Rat.row, Rat.col)
Rat の文字列表現を返す方法を知る必要があります!
ラットの文字列表現を次の形式で返します: symbol at (row, col) ate num_sprouts_eaten sprouts.
例: 「(4, 3) の J は 2 つのもやしを食べました。」文字列の最後に改行文字 ('\n') を入れないでください。
では、最後の方法をどのように修正しますか?
def __str__(self):
""" (Contact) -> str
Return a string representation of this Rat.
"""
result = 'To: '
for contact in Rat.symbol:
result = result + '{0}, '.format(Rat.symbol)
result = result + '\nSubject: {0}'.format(Rat.row)
result = result + '\n{0}'.format(Rat.col)
return result
#return '{0} {1} <{2}>'.format(Rat.symbol,
# Rat.row, Rat.col)
「J at (4, 3) ate 2 もやし」のようなものを出力する必要があります。ただし、上記のコードでは、print(object) と入力するとエラーが発生します...次のエラーが発生します。
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
print(a)
File "C:\Users\gijoe\Downloads\a2.py", line 61, in __str__
for contact in Rat.symbol:
AttributeError: class Rat has no attribute 'symbol'