<p>编写一个程序,提示用户以<code>ddd-dd-dddd</code>格式输入社会保险号码,其中<code>d</code>是一个数字。程序显示<code>"Valid SSN"</code>以获得正确的社会保险号码,如果不正确,则显示<code>"Invalid SSN"</code>。我差点就有了,只有一个问题。</p>
<p>我不知道如何检查它的格式是否正确。我可以输入例如:</p>
<pre><code>99-999-9999
</code></pre>
<p>它会说它是有效的。如何解决这个问题,使我只得到格式为<code>ddd-dd-dddd</code>的<code>"Valid SSN"</code>?</p>
<p>这是我的代码:</p>
<pre><code>def checkSSN():
ssn = ""
while not ssn:
ssn = str(input("Enter a Social Security Number in the format ddd-dd-dddd: "))
ssn = ssn.replace("-", "")
if len(ssn) != 9: # checks the number of digits
print("Invalid SSN")
else:
print("Valid SSN")
</code></pre>