擅长:python、mysql、java
<p>我会说“有故障的机器人”只是一个“正常的机器人”,几乎没有故障</p>
<pre><code>import numpy as np
class NormalRobot():
def __init__(self, x):
self.x = x
def move(self, d):
self.x += d
def __repr__(self):
return f"Position: {self.x}"
class FaultyRobot(NormalRobot):
def __init__(self, x, is_faulty=True):
self.x = x
self.is_faulty = is_faulty
def turn_is_faulty(self):
return self.is_faulty
def move(self, d):
if self.turn_is_faulty():
self.x += np.random.random()
else:
super().move(d)
</code></pre>
<p>测试:</p>
<pre><code>n = NormalRobot(0)
f = FaultyRobot(0)
nf = FaultyRobot(0, False)
n.move(10)
nf.move(10)
f.move(10)
print (n, nf, f)
</code></pre>
<p>输出:</p>
<pre><code>Position: 10 Position: 10 Position: 0.07103605819788694
</code></pre>