Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 连接类和赋值_Python - Fatal编程技术网

Python 连接类和赋值

Python 连接类和赋值,python,Python,我创建了两个类,一个叫做进攻,另一个叫做防御。我很难让用户选择运行游戏,当游戏互相对抗时,更大的游戏获胜。我相信通过将进攻类添加到防御类的参数中,我已经正确地继承了防御类。但是,在创建了一个规则,即在防御类中,进攻游戏少于防御游戏之后,什么也没有发生 这是我的密码: class Offense(): def __init__(self): self.play1 = 'run' off_1 = Offense() class Defense(Offense):

我创建了两个类,一个叫做
进攻
,另一个叫做
防御
。我很难让用户选择
运行
游戏,当游戏互相对抗时,更大的游戏获胜。我相信通过将
进攻
类添加到
防御
类的参数中,我已经正确地继承了
防御
类。但是,在创建了一个规则,即在防御类中,
进攻
游戏少于
防御
游戏之后,什么也没有发生

这是我的密码:

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")

class offension():
定义初始化(自):
self.play1='run'
off_1=进攻()
阶级防御(进攻):
定义初始化(自):
self.play1='run'
防御1=防御()
场外1.play1<防守1.play1
如果关闭1.play1<防御1.play1:
打印(“防御胜利”)

您的代码似乎无法与戏剧的“伟大”相比较。它检查进攻比赛的名称是否按字母顺序排在防守比赛的名称之前。这两者是不相等的,所以你的代码不会打印任何东西

你没有“规则”说进攻比防守少。您确实插入了布尔表达式并丢弃了结果,但这并不构成“规则”。Python没有这样的结构:您需要自己实现它

总的来说,我认为您需要再次完成程序设计。确定您想要的属性并实现这些属性。也许你会想要一个
游戏
课程,从中继承
进攻
防守
;也许你只需要两个游戏实例,一个用于进攻,一个用于防守


然而,为了比较哪一个更大,我认为你需要对组合进行一些数值计算。你发布的代码没有这样的功能。

这里没有理由使用继承:
防御
不是一种
进攻
(请不要开“最好的防御就是好的进攻”的玩笑)。所有的
off\u 1.play1
都是比较一个值和另一个值。它不会神奇地使第一个值小于第二个值。看起来您正试图在
\u lt\uuuuuuuuu、\uuuuu gt\uuuuuuuuuu eq\uuuuu>操作符上使用运算符重载来比较播放,也许?或者只是一个将播放类型映射为数值的dict?什么你想用这段代码实现吗?你不需要通过防御类传递父类来定义防御类中的实例。当你通过父类传递实例时,你会将实例继承到子类中。@chepner我明白你的意思。谢谢你,我确实做了一个play类,但被压倒了ed.你说的很有道理。很好。在我看来,在进行更多的实现之前,你需要巩固游戏引擎的设计。设计驱动数据表示和控制流;这驱动你进行编码设计。这意味着你距离下一个堆栈溢出问题还有两个主要步骤。:-)