<p>您正在接受输入的zipCode作为字符串对象。因此,在比较元素时,可以将数字放在单引号内,也可以将zipCode转换为整数。我还建议使用isdigit()方法检查字符串中的当前字符是否是数字。另外,当x的值超过5时,printDigit方法返回的NoneType不能与string对象组合。因此返回“”</p>
<pre><code>def printDigit(d , x):
if x <len(d) and d[x].isdigit():
if int(d[x]) ==0:
return "||:::" + printDigit(d , x + 1)
elif int(d[x]) == 1:
return ":::||" + printDigit(d , x + 1)
elif int(d[x]) == 2:
return "::|:|" + printDigit(d , x + 1)
elif int(d[x]) == 3:
return "::||:" + printDigit(d , x + 1)
elif int(d[x]) == 4:
return ":|::|" + printDigit(d , x + 1)
elif int(d[x]) == 5:
return ":|:|:" + printDigit(d , x + 1)
elif int(d[x]) == 6:
return ":||:|" + printDigit(d , x + 1)
elif int(d[x]) == 7:
return "|:::|" + printDigit(d , x + 1)
elif int(d[x]) == 8:
return "|::|:" + printDigit(d , x + 1)
elif int(d[x]) == 9:
return "|:|::" + printDigit(d , x + 1)
else:
return ""
zipCode = input("Input a zip code: ")
print(printDigit(zipCode , 0))
</code></pre>