<p>基于<a href="https://stackoverflow.com/a/103081/1327325">this</a></p>
<blockquote>
<p>FizzBuzz: For integers up to and including 100, prints FizzBuzz if the integer is divisible by 3 and 5 (15); Fizz if it's divisible by 3 (and not 5); Buzz if it's divisible by 5 (and not 3); and the integer otherwise.</p>
</blockquote>
<pre><code>def FizzBuzz():
for i in range(1,101):
print {
3 : "Fizz",
5 : "Buzz",
15 : "FizzBuzz"}.get(15*(not i%15) or
5*(not i%5 ) or
3*(not i%3 ), '{}'.format(i))
</code></pre>
<p>在这里,<code>.get()</code>方法非常有用。</p>
<p>操作如下</p>
<p>对于1到100之间的所有整数(不包括101),<br/>
根据这些规则打印我们通过get调用的字典键的值。</p>
<p>获取<code>get</code>调用中的第一个非False项,或将整数作为字符串返回</p>
<p>当检查一个<code>True</code>值(因此我们可以查找该值)时,Python的计算结果是0到<code>False</code>。如果i mod 15=0,那是错误的,我们将转到下一个。</p>
<p>因此,我们<code>NOT</code>每个“mods”(也称为余数),这样,如果mod==0,即=False,我们就得到一个True语句。我们将<code>True</code>乘以返回字典键(即<code>3*True == 3</code>)的字典键</p>
<p>当整数不能被3、5或15整除时,我们就陷入打印int<code>'{}'.format(i)</code>的默认子句中,只需将i作为字符串插入该字符串。</p>
<p>部分产出</p>
<p>气泡<br/>
79<br/>
嗡嗡声<br/>
气泡<br/>
82<br/>
83<br/>
气泡<br/>
嗡嗡声<br/>
86<br/>
气泡<br/>
88<br/>
89<br/>
气泡<br/>
91<br/>
92<br/>
气泡<br/>
94<br/>
嗡嗡声<br/>
气泡<br/>
97<br/>
98<br/>
气泡<br/>
嗡嗡声</p>