擅长:python、mysql、java
<p><code>random.randint(4,11)</code>只需选择范围<code>[4, 11]</code>内的整数并返回该数字。所以,当你做<code>userAtk = random.randint(4,11)</code>时,你只需要得到一个数字并将其存储为<code>userAtk</code>,每次你访问<code>userAtk</code>,你就会得到相同的数字。</p>
<p>如果你希望<code>userAtk</code>是一种神奇的东西,每次你访问它时,它的作用就像是范围内的不同数字<code>[4, 11]</code>那么,这不是不可能的(请参阅<a href="http://pastebin.com/pJTycFtr" rel="nofollow">here</a>中的快速和肮脏刺杀)…但它几乎肯定会导致更多的混乱而不是利益。</p>
<p>例如,您有试图打印<code>str(userAtk)</code>的代码…但是如果每次访问的值不同,则打印出来的值将不同于用于计算损害的值!想象一下,如果你在玩桌面D&D游戏,地牢主人掷骰子告诉你掷骰子,然后立即忘记结果,再次掷骰子来判断你是否击中。所以他可能会说,“你投了20分。你错过了。“那不好。</p>
<p>使<code>userAtk</code>成为一个函数,<em>可能有用:</p>
<pre><code>def userAtk():
return random.randint(4, 11)
</code></pre>
<p>对于所有相似的变量也是如此。然后,只要您访问一个数字,您就可以调用函数:</p>
<pre><code>def dragonDmg():
return userAtk() - dragonDef()
</code></pre>
<p>然后,在某个地方,您需要将调用这些函数的结果存储在每个循环中的一些局部变量中。</p>
<p>但关键是,不管你怎么做,你必须有你每次通过循环重新计算的变量。</p>