【发布时间】:2025-12-07 13:25:02
【问题描述】:
这是我的代码,我觉得这应该可以工作。我刚刚添加了 zipcode = str(zipcode) 以查看它是否可以正常工作,因此我可能会将其取出,并将原始邮政编码作为字符串。我需要它是一个字符串,因为我不希望二进制数实际相加。当我在 python shell 中初始化函数时,它什么也不返回
def digitConvert(zipcode):
zipcode = str(zipcode)
n = 0
binary = ""
while n < len(zipcode):
if zipcode[n] == 0:
binary = binary + "11000"
n = n + 1
elif zipcode[n] == 1:
binary = binary + "00011"
n = n + 1
elif zipcode[n] == 2:
binary = binary + "00101"
n = n + 1
elif zipcode[n] == 3:
binary = binary + "00110"
n = n + 1
elif zipcode[n] == 4:
binary = binary + "01001"
n = n + 1
elif zipcode[n] == 5:
binary = binary + "01010"
n = n + 1
elif zipcode[n] == 6:
binary = binary + "01100"
n = n + 1
elif zipcode[n] == 7:
binary = binary + "10001"
n = n + 1
elif zipcode[n] == 8:
binary = binary + "10010"
n = n + 1
elif zipcode[n] == 9:
binary = binary + "10100"
n = n + 1
return binary
感谢您的帮助!
【问题讨论】:
-
我认为你在 python 中的间距有问题.....
-
如果您使用
str(zipcode),您通过zipcode[n]获得的元素将是字符,而不是数字。所以像if zipcode[n] == '0'这样的东西会更好。 -
这对我一点帮助都没有。最终结果不会是二进制文件,该二进制文件将用于绘制带有海龟图形的条形码
-
你必须缩进函数的主体。
标签: python string if-statement barcode zipcode