<p>我看你的代码没有问题。。。除了缩进和检查<code>if</code>条件。你知道吗</p>
<pre><code>def digitConvert(zipcode):
zipcode = str(zipcode)
n = 0
binary = ""
while n < len(zipcode):
if zipcode[n] == '0':
binary = binary + "11000"
elif zipcode[n] == '1':
binary = binary + "00011"
elif zipcode[n] == '2':
binary = binary + "00101"
elif zipcode[n] == '3':
binary = binary + "00110"
elif zipcode[n] == '4':
binary = binary + "01001"
elif zipcode[n] == '5':
binary = binary + "01010"
elif zipcode[n] == '6':
binary = binary + "01100"
elif zipcode[n] == '7':
binary = binary + "10001"
elif zipcode[n] == '8':
binary = binary + "10010"
elif zipcode[n] == '9':
binary = binary + "10100"
n = n + 1
return binary
</code></pre>
<p>更新:</p>
<p>您可以将整个过程简化为:</p>
<pre><code>def digitConvert(zipcode):
zipcode = str(zipcode)
x = {
"0" : "11000",
"1" : "00011",
"2" : "00101",
"3" : "00110",
"4" : "01001",
"5" : "01010",
"6" : "01100",
"7" : "10001",
"8" : "10010",
"9" : "10100"
}
return "".join(x[i] for i in zipcode if i in x)
</code></pre>