|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #定义一个骰子类#
- class Die():
- #有一个属性为面数,默认为六#
- def __init__(self,sides=6):
- self.sides=sides
- #定义一个方法,随机投,随机数从1至骰子面数#
- def roll_die(self):
- from random import randint
- x=randint(1,sides)
- print(x)
- a=Die()
- a.roll_die()
复制代码 想做一个可以更改面数的骰子,出现了问题,不知道如何解决
- Traceback (most recent call last):
- File "D:/python文件/学习/9.5kh/die.py", line 15, in <module>
- a.roll_die()
- File "D:/python文件/学习/9.5kh/die.py", line 11, in roll_die
- x=randint(1,sides)
- NameError: name 'sides' is not defined
复制代码 这是错误
在你的代码中, sides 是骰子类的属性,但在 roll_die 方法中,你需要使用 self.sides 来引用该属性。修改你的代码如下:
- class Die():
- def __init__(self, sides=6):
- self.sides = sides
- def roll_die(self):
- from random import randint
- x = randint(1, self.sides)
- print(x)
- a = Die()
- a.roll_die()
复制代码
这样修改后,问题应该就解决了。现在你可以创建一个默认面数为 6 的骰子实例,并通过调用 roll_die 方法来随机投掷骰子。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案
|
|