Я не понимаю, что не так. Я продолжаю понимать, что мне не хватает необходимого позиционного аргумента.__init __() отсутствует 1 требуемый позиционный аргумент: «Значение»
class CoinToss(object):
def __init__(self, flip, ID_Num, Value):
self.flip = flip
self.ID_Num = ID_Num
self.Value = Value
def Flip(self):
"""
Method is important in determining the number of flips and simulating the coin
"""
data = []
Num_flip = int(input("how many times do you want to flip the coin? :"))
print("the ball at the start: ball: d%, state: d% value: d% " %(self.ID_Num))
for i in range(Num_flip):
self.flip = self.flip = 1
if randint(0,1) == 0:
self.Value = self.Value + 1
data.append(self.value)
else:
self.Value = self.Value - 1
data.append(self.Value)
Вы создаете класс 'CoinToss' неверным способом, не предоставляя все необходимые аргументы. Просто проверьте, сколько аргументов вы переходите к нему, вы его не заметили. –
Я не могу найти, какие аргументы им передаются ему. a я пропустил что-то простое? –
Где вы создаете объект 'CoinToss' в первую очередь? Я собираюсь угадать, что вы неправильно поняли, как работают инициализаторы Python, и сделал «CoinToss .__ init __ (x, y, z)» (который не подразумевает создание экземпляра и передает его как «self»), когда вы должны делать ' CoinToss (x, y, z) ', который создает экземпляр, затем передает его как первый аргумент неявно. – ShadowRanger