<p>最简单的方法</p>
<p>我刚刚在每个<code>input</code>之后添加了<code>if ans == 1: break</code></p>
<pre class="lang-py prettyprint-override"><code>import random
print ('Welcome to my quiz. Enter the correct answer for the given math equation.')
print ('Enter -1 to quit')
Score = 0
while True:
print ('\n')
num1 = random.randint (1,12)
num2 = random.randint (1,12)
num3 = random.randint (1,25)
num4 = random.randint (1,25)
num5 = random.randint (50,100)
num6 = random.randint (1,25)
CorrectAnswer = num1 * num2
CorrectAnswer2 = num3 + num4
CorrectAnswer3 = num5 - num6
print ('What is ', num1, ' x ', num2, '?')
ans = int (input ('Answer: '))
if ans == -1:
break
if ans == CorrectAnswer:
print ('Correct! ')
Score = Score + 1
else:
print ('Incorrect')
print ('The correct answer is: ', CorrectAnswer)
Score = Score -1
print ('What is ', num3, ' + ', num4, '?' )
ans = int (input ('Answer: '))
if ans == -1:
break
if ans == CorrectAnswer2:
print ('Correct! ')
Score = Score + 1
else:
print ('Incorrect')
print ('The correct answer is: ', CorrectAnswer2)
Score = Score -1
print ('What is ', num5, ' - ', num6, '?' )
ans = int (input ('Answer: '))
if ans == -1:
break
if ans == CorrectAnswer3:
print ('Correct! ')
Score = Score + 1
else:
print ('Incorrect')
print ('The correct answer is: ', CorrectAnswer3)
Score = Score - 1
print ('\n')
print ('Well done, Your final score is: ', Score)
</code></pre>
<p>顺便说一句,一些提示</p>
<p>如果以后再初始化变量(通过指定新值),则不需要在顶部初始化变量</p>
<p>Python变量通常从小写开始(类从大写开始)</p>
<p>您可以用较短的方式递增和递减<code>x += 1</code></p>
<p>如果参数之间用空格隔开就好了,例如<code>random.randint(1, 12)</code></p>
<p>函数后面的空格(如python3中的<code>input</code>或<code>print</code>)是不必要的</p>
<p>您可以连接新行和字符串,例如<code>print('\nWell done, Your final score is:', Score)</code>顺便说一句,<code>print</code>中的参数默认用空格分隔</p>
<p>对于Python3.6+,可以使用格式字符串,这更简单(请参见<code>f</code>前面的<code>'</code>):<br/>
<code>print(f'\nWell done, Your final score is: {Score}')</code>或<br/>
<code>print(f'What is {num3} + {num4}?')</code></p>