クラス属性をsize
インスタンス属性に変更する助けが必要です。 これは、現在のコード(作品)である:私はインスタンスにクラスを変更しようとするとクラス属性をインスタンス属性に変更する方法Pythonプログラミング
class BoardHandler:
size=None
def __init__ (self):
self.board = None
if BoardHandler.size is None:
self.ask_size()
self.getNewBoard()
def ask_size(self):
while True:
try:
BoardHandler.size = int(input("Which size would you want? "))
break
except ValueError:
print("Wrong! try again")
は次のように属性:
class BoardHandler:
def __init__ (self):
self.board = None
self.size = self.ask_size()
self.getNewBoard()
def ask_size(self):
while True:
try:
self.size = int(input("Which size would you want? "))
break
except ValueError:
print("Wrong! try again")
をだから今上から、代わりにBoardHandlerでsize
上に呼び出します.size私はself.sizeを呼び出します。しかし、私は取得エラーです:あなたのコードだけで結構です
Traceback (most recent call last):
File "/Users//Desktop/REVERSI/.py", line 281, in <module>
menu()
File "/Users//Desktop/REVERSI/.py", line 213, in meny
main1v1()
File "/Users//Desktop/REVERSI/.py", line 236, in main1v1
handler = BoardHandler()
File "/Users//Desktop/REVERSI/.py", line 35, in __init__
self.newBoard()
File "/Users//Desktop/REVERSI/.py", line 50, in newBoard
for i in range(self.size):
TypeError: 'NoneType' object cannot be interpreted as an integer
'ask_size'は' None'を返します。 intを返すか 'ask_size'を呼び出す –
あなたは' self.size'の代わりに 'self.ask_size'を呼び出すでしょうか? @tmadam – Entropy
'ask_size'を呼び出しても、' size'に代入したり、 'ask_size'を使ってintを返したりしないでください@Daniel Sanchezの答え –