<p>当你说</p>
<pre><code> if color == 'blue' or 'Blue':
</code></pre>
<p>可以理解为</p>
^{pr2}$
<p>如果<code>color == 'blue'</code>为真,则为真;如果<code>'Blue'</code>为真,则为<em>或</em>。蓝色总是正确的。其他颜色也一样</p>
<p>你可以这样做:</p>
<pre><code> if color in [ 'blue', 'Blue']:
</code></pre>
<p>它将检查<code>color</code>是否存在于颜色列表中。但是‘蓝色’、‘蓝色’等呢?这里有一个更好的解决方案。在</p>
<pre><code> if color.lower() == "blue":
</code></pre>
<p>现在它可以匹配任何蓝色的大写字母!在</p>
<p>接下来,考虑这一部分:</p>
<pre><code>if Initials == 'YNH':
if Age == '42':
if DOB == '1/27/74':
print('Welcome Young Nathan Heather')
... ... ...
else:
print('Sorry, Wrong Credentials Entered')
else:
print('Sorry, Wrong Credentials Entered')
else:
print('Sorry, Wrong Credentials Entered')
</code></pre>
<p>这是<a href="https://en.wikipedia.org/wiki/Don%27t_repeat_yourself" rel="nofollow noreferrer">a lot of repetition</a>,但也有很多不必要的缩进,这使得代码更难阅读和调试。为什么不是更像:</p>
<pre><code>if Initials == 'YNH' and Age == '42' and DOB == '1/27/74':
print('Welcome Young Nathan Heather')
... ... ...
else:
print('Sorry, Wrong Credentials Entered')
</code></pre>
<p>这样做,你的代码将更容易阅读,也更容易编写!在</p>