我正在创建一个骰子游戏,你打印出一张骰子脸(我是初学者) 必须有2节课。一个叫做骰子游戏的类。它有一个名为play的方法,它显示模具表面。还有一个类叫做Die。它有一个名为face的属性,用于保存人脸图像。有一种称为roll的方法,可以随机设置面
import random
class Die(object):
def __init__ (self, face =None, faceValue = None):
self.face = face
self.faceValue = faceValue
def roll(self):
for c in range(1,2):
random.randint(1,2)
if random == '1':
self.face = (' ------\n| |\n| o |\n| |\n ------')
def __str__(self):
return str(self.face)
class DiceGame(Die):
def play(self):
print(self.face)
go = DiceGame(Die)
print(go.play)
输出为
bound method DiceGame.play of <__main__.DiceGame object at 0x7fd060db0358>>
它应该打印模具表面(我是个新手。不知道为什么我的代码是这样格式化的。)
您的代码有几个问题:
在第
go = DiceGame(Die)
行上,类Die将作为面发送到构造函数中。试试go = DiceGame()
不能在第
print(go.play)
行上调用play方法。试试go.play()
random.randint(1,2)
返回整数对象。与“1”进行比较总是会导致False在您的代码中,实际上并没有滚动
固定代码:
另一种滚动方法可以是:
但是您可能需要添加
# -*- coding: utf-8 -*-
作为代码的第一行来表示编码我同意Jan的观点,不过我会将DiceGame类中的方法
play
更改为返回self.face
,而不仅仅是打印它。相反,我会print(go.play())
相关问题 更多 >
编程相关推荐