class Switch():
def __init__(self, mode):
self._mode = mode
if self._mode == '1':
self._mode = True
if self._mode == '0':
self._mode = False
def flip(self):
if self._mode is True:
self._mode = False
if self._mode is False:
self._mode = True
class Flip():
def __init__(self, lst):
self._lst = []
for i in range(lst):
self._lst.append(False)
def flip(self, n):
self._lst[n] = Switch.flip(self) #problem here
到目前爲止,我所遇到的問題是當我從另一個類調用某個函數時,它會引發錯誤。調用另一個類的方法
什麼開關類做:
如果你通過「1」作爲參數,將其更改爲真,如果你將「0」,因爲它會改變它爲False參數。在開關的翻轉方法改變了模式,所以如果這是真的,將其更改爲False,等
什麼翻轉類做:
如果傳遞一個數字作爲參數,它會創建一個列表許多元素,而不是數字,它會將False置於原地。恩。如果你通過10,而不是[0,1,2,3,4,5,6,7,8,9]你會得到[假,假,假,假,...]。 Flip中的翻轉方法將從Switch調用flip方法,並在給定索引處更改它的狀態。防爆。 [假,假,假,你調用翻蓋2爲n,那麼你會得到[假,假,真]
然而,當我.flip(2)它拋出一個錯誤:
f1 = Flip(10)
f1.flip(2)
Traceback (most recent call last):
File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\_sandbox.py", line 1, in <module>
# Used internally for debug sandbox under external interpreter
File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\_sandbox.py", line 25, in flip
File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\_sandbox.py", line 11, in flip
builtins.AttributeError: 'Flip' object has no attribute '_mode'
不知道爲了解決這個問題需要更改什麼。類是新的對我來說不是很確定:/
我得到:builtins.TypeError:翻轉()失蹤1個人需要的位置參數: '自我' – Sc4r
@ sc4r更新答案 –