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

前后需要两个__init__下划线:

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

否则,Python 将该方法视为自定义方法,而不是特殊的__init__构造方法。

于 2013-11-06T19:39:19.927 回答
5

你应该替换_init___init__

于 2013-11-06T19:39:31.163 回答