擅长:python、mysql、java
<p>为了让您开始,您可以按以下方式对其进行重组:</p>
<pre><code>ask = 'y'
while ask == 'y':
address = raw_input("Please input the drivers home address (e.g. EH129DN): ")
addresspattern = r"[A-Z][A-Z]\d\d\s?\d[A-Z][A-Z]"
match = re.search(addresspattern, address)
if match:
print "Valid"
else:
print "Invalid"
ask = raw_input("Do you wish to continue? (Y/N): ").lower()
</code></pre>
<p>提供以下类型的输出:</p>
<pre><code>Please input the drivers home address (e.g. EH129DN): EH12 9DN
Valid
Do you wish to continue? (Y/N): y
Please input the drivers home address (e.g. EH129DN): EH129DN
Valid
Do you wish to continue? (Y/N): y
Please input the drivers home address (e.g. EH129DN): EH1 29DN
Invalid
Do you wish to continue? (Y/N): n
</code></pre>
<p>注意,如果您试图匹配所有有效的邮政编码,那么您将需要研究一个更重要的正则表达式。我保留了您现有的逻辑,但它现在允许在两者之间留有可选的空间。另外,我还使用了<code>raw_input()</code>,因为您需要文本输入</p>