python – 如何测试每个特定的数字或字符

我希望收到用户输入的5位数字,然后打印每个特定数字的内容.

例如,如果用户输入12345,我想首先打印1的特定输出,然后打印另一个输出2,等等.

我该怎么做呢?如果可能的话,我更愿意创建一个函数.

#!/usr/bin/python3

zipcode = int(raw_input("Enter a zipcode: "))

if zipcode == 1:
       print ":::||"
elif zipcode == 2:
       print "::|:|"
elif zipcode == 3:
       print "::||:"
elif zipcode == 4:
       print ":|::|"
elif zipcode == 5:
       print ":|:|:"
elif zipcode == 6:
       print ":||::"
elif zipcode == 7:
       print "|:::|"
elif zipcode == 8:
       print "|::|:"
elif zipcode == 9:
       print "|:|::"
elif zipcode == 0:
       print "||:::"
最佳答案
您可以使用dictionary,然后遍历输入:

zipcode = raw_input("Enter a zipcode: ")

codes={1:":::||",2:"::|:|",3:"::||:",4:":|::|",5:":|:|:",6:":||::",7:"|:::|",8:"|::|:",9:"|:|::",0:"||:::"}

for num in zipcode:
    print codes[int(num)], #add a comma here if you want it on the same line

这会给你:

>>> 
Enter a zipcode: 54321
:|:|: :|::| ::||: ::|:| :::||

编辑:

没有空格:

zipcode = raw_input("Enter a zipcode: ")

codes={1:":::||",2:"::|:|",3:"::||:",4:":|::|",5:":|:|:",6:":||::",7:"|:::|",8:"|::|:",9:"|:|::",0:"||:::"}

L = [] #create a list

for num in zipcode:
    L.append(codes[int(num)]) #append the values to a list

print ''.join(L) #join them together and then print

现在这将打印:

>>> 
Enter a zipcode: 54321
:|:|::|::|::||:::|:|:::||

转载注明原文:python – 如何测试每个特定的数字或字符 - 代码日志