4

私は単にサイコロを生成するコードを作成しようとしています(Pythonで)。コードは次のとおりです。

import random

class Dice:
     def _init_(self, number_dice):
          self._dice = [6] * number_dice

     def roll_dice(self):
          for d in range(len(self._dice)):
               self._dice[d] = random.randit(1, 6)
          self._dice.sort()

     def print_roll(self):
          length = len(self._dice)
          print(str(lenth) + "dice:" + str(self._dice))



my_dice = Dice(2)
my_dice.roll_dice()
my_dice.print_roll()

コンパイラは18行目について何かを言います。私はプログラミングが初めてなので、何でも役立ちます=]

4

2 に答える 2

11

の前後に2 つのアンダースコアが必要です__init__

def __init__(self, number_dice):
    self._dice= [6] *number_dice

__init__それ以外の場合、Python はそのメソッドを特別なコンストラクター メソッドではなくカスタム メソッドとして扱います。

于 2013-11-06T19:39:19.927 に答える
5

と交換する必要が_init_あります__init__

于 2013-11-06T19:39:31.163 に答える