<p>在if语句之前用空值定义<code>TaxCode</code>,以防止<code>NameError</code>。这样<code>TaxCode =''</code></p>
<p>您可以使用<code>exit(0)</code>终止程序,这里的数字()表示成功/失败。与linux中的退出状态相同。所以你的代码是</p>
<pre><code>while Q1 != "yes" and Q1 != "no":
print("\nPlease enter either 'yes' or 'no'")
Q1=input("Do you recieve an income tested benefit? ")
if Q1=="yes":
Q2=input("Is this tax code for the income tested benefit? ")
while Q2 != "yes" and Q2 != "no":
print("\nPlease enter either 'yes' or 'no'")
Q2=input("Is this tax code for the income tested benefit? ")
TaxCode='' #define it before using
if Q2=="yes":
TaxCode = "M"
elif Q2=="no":
print (M1)
exit(0) # terminates program and raises success non-zero value refers failure.
print("Thanks for answering the questions.",name,"Your tax code is ",TaxCode)
</code></pre>
<p>如果在函数中使用上述代码,并且希望停止函数,则可以使用<code>return</code>语句通过返回<code>None</code>跳过最后一行的打印,因此在这种情况下,您的代码将被删除。你知道吗</p>
<pre><code>while Q1 != "yes" and Q1 != "no":
print("\nPlease enter either 'yes' or 'no'")
Q1=input("Do you recieve an income tested benefit? ")
if Q1=="yes":
Q2=input("Is this tax code for the income tested benefit? ")
while Q2 != "yes" and Q2 != "no":
print("\nPlease enter either 'yes' or 'no'")
Q2=input("Is this tax code for the income tested benefit? ")
TaxCode='' #define it before using
if Q2=="yes":
TaxCode = "M"
elif Q2=="no":
print (M1)
return None # skips print and returns to calling function.
print("Thanks for answering the questions.",name,"Your tax code is ",TaxCode)
</code></pre>
<p>您可以根据您的逻辑使用<code>exit</code>或<code>return</code>,因为您不清楚这段代码是用在函数中还是用在main中,我解释了两者。你知道吗</p>