我创建了两个类,一个是Offense,另一个是Defense。我在制作它时遇到了麻烦,这样用户就可以选择run播放,当游戏彼此对立时,更大的播放就会获胜。我相信通过将Defense类的Offense类添加到Defense类的参数中,正确地完成了对Defense类的继承。但是,在创建了一个规则,即offense play比国防类中的defense play更少后,什么都不会发生。
这是我的密码:
class Offense():
def __init__(self):
self.play1 = 'run'
off_1 = Offense()
class Defense(Offense):
def __init__(self):
self.play1 = 'run'
defen_1 = Defense()
off_1.play1 < defen_1.play1
if off_1.play1 < defen_1.play1:
print("Defense wins")发布于 2019-09-17 15:52:32
您的代码似乎没有做任何比较的“伟大”的戏剧。它检查进攻性游戏的名称是否是在防守游戏名称之前的字母顺序。它不是--两者是相等的--所以你的代码什么也不打印。
你没有“规则”说进攻比防守少。您确实插入了一个布尔表达式并丢弃了结果,但这并不构成“规则”。Python没有这样的结构:您需要自己实现它。
总的来说,我认为你需要重新完成你的程序设计。确定您想要的属性并实现这些属性。也许您需要一个Play类,Offense和Defense都继承了这个类;也许您只需要两个Play实例,一个用于进攻和防御。
然而,要比较哪一个“更大”,我想你会想要一些组合的数值评估。您发布的代码没有这样的功能。
https://stackoverflow.com/questions/57977697
复制相似问题