Python 骰子等级,边数
python
Python 骰子等级,边数,python,Python,我已经创建了一个骰子类,其中我有一个掷骰子的函数roll\u die,和一个掷n个骰子的函数roll\u Dice。由此,程序显示骰子的总和 我现在尝试添加一个构造器,它允许我们设置边数也可以确定骰子或骰子上的边数,边数可以是4、6、8、12或20,如果没有指定六边骰子应自动继续的边数 但是我仍然收到一条错误消息TypeError:\uuu init\uuu()缺少1个必需的位置参数:“sides”当未指定页数时,我做错了什么 类骰子: 定义初始(自身、侧面): self.sides=sides
我已经创建了一个骰子类,其中我有一个掷骰子的函数roll\u die,和一个掷n个骰子的函数roll\u Dice。由此,程序显示骰子的总和 我现在尝试添加一个构造器,它允许我们设置边数也可以确定骰子或骰子上的边数,边数可以是4、6、8、12或20,如果没有指定六边骰子应自动继续的边数 但是我仍然收到一条错误消息TypeError:\uuu init\uuu()缺少1个必需的位置参数:“sides”当未指定页数时,我做错了什么 类骰子: 定义初始(自身、侧面): self.sides=sides self.value=random.randint(1,self.sides) def辊模(自身、侧面): 返回random.randint(1,边) def掷骰子(自身,n): 总和=0 对于范围(n)中的i: 总和+=自滚模() 回报金额 def骰子数量(自身、侧面): 如果边==无: 边数=6 elif边不在(4,6,8,12,20)中: 打印('骰子大小只能为4、6、8、12或20') 您应该在构造函数中给它一个默认值,当未提供参数时,它将采用该值 def __init__(self, sides=6): self.sides = sides self.value = random.randint(1, self.sides) d=骰子(20)将返回一个有20个边的骰子实例 d=Dice()将返回一个有6个边的Dice实例,这是默认值。我将这样编写您的类 类骰子: def _;初始(自身,侧面=6): 如果边不在(4,6,8,12,20)中: raise异常(“边的值无效。请使用以下选项之一:4、6、8、12、20”) self.sides=sides def掷骰子(自身): 返回random.randint(1,self.sides) def掷骰子(自身,n): 总和=0 对于范围内的u(n): sum+=self.roll_dice() 回报金额 我没有得到你使用的方法number\u of_dice,所以我没有添加它。但该值检查包含在构造函数中 我将roll_die方法重命名为roll_dice,将多次滚动的方法重命名为roll_dies。感觉好多了。请用完整的错误回溯更新您的问题。我不知道“未指定页数时”应该是什么意思。无论是在你对问题的描述中,变态传世网页游戏,还是在你的代码中,都没有关于“页面”的任何内容。“如果没有指定有多少个面,那么应该用一个六面骰子自动继续。”你的代码中有什么东西是为了实现这一点的吗?代码在哪里?它应该如何工作?我认为如果你试着遵循一个教程,首先确保你了解其他人的设计会更好。将侧面传递到滚动模具-你想使用自我侧面。也不清楚self.value的目的是什么。我这样做了,但还是得到了同样的错误。这怎么可能?不可能。但你还有一个错误。在roll\u dice中调用self.roll\u die()。您在此处缺少参数sides。请使用完整的错误回溯更新您的问题。它仅在我编写def roll\u die(self,sides=6):时有效,但我还必须编写d=Dice(20)和print(d.roll\u die(20))?@quamrana抱歉,但我不知道如何找到错误回溯。我会试着找出方法并把它贴出来。嗯。。现在我不确定骰子这个词。。。。是普卢拉骰子还是骰子?我不是以英语为母语的人,所以请原谅我的英语不好。在一些英语形式中,“dice”是复数,“die”是单数。有些变体也使用dice作为单数,所以我不确定任何一种拼写是否适用于每个人。好的,每天学习。如果我们使用die作为单数,那么类名应该是die而不是Dice。