擅长:python、mysql、java
<p>两件事:</p>
<p>1)最好有两个不同的类,男性和女性,它们都扩展了基类<code>Settler</code>。这样就避免了大部分<code>if sex = M then this else that</code>的东西</p>
<p>示例:</p>
<pre><code>class Settler:
def __init__(self, name):
self.name = name
self.iq = round(random.normalvariate(100,10))
class Male(Settler):
def __str__(self):
return '{0.name}, male, iq {0.iq}'.format(self)
class Female(Settler):
def __str__(self):
return '{0.name}, female, iq {0.iq}'.format(self)
</code></pre>
<p>注意这两个类如何使用<code>__str__</code>以字符串形式“表示”自己。在</p>
<p>2)将与对象列表有关的所有内容保持在对象定义之外。好东西不知道外面发生了什么。例如,以下是如何生成人员列表:</p>
^{pr2}$
<p><code>[stuff for _ in range(N)]</code>基本意思是“做N次事情”。在</p>
<p>最后,让我们把它们放在一起,打印出一份人员名单:</p>
<pre><code>for person in people:
print(person)
</code></pre>
<p>输出如下:</p>
<pre>
Doe, male, iq 114.0
Doe, male, iq 110.0
Polly-Parrot, male, iq 89.0
Smith, male, iq 96.0
Polly-Parrot, male, iq 83.0
Mueller, female, iq 118.0
Mueller, female, iq 90.0
Smith, female, iq 90.0
Smith, female, iq 103.0
Mueller, female, iq 89.0
Smith, female, iq 87.0
</pre>
<p>如果您有更多问题,请告诉我们。在</p>