马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
如果问题已经解决,请设置最佳答案
|