"::: ||"의 5 개의 다른 문자열을 만들어 우편 번호를 5 번 반복하려고 시도했습니다. 소지품. 현재 | 없음 6 | 어떤 것도 5 가지 진술 ("::: ||")의 아이디어라고 생각하지 않습니까?내 문자열 대신 아무 것도 반환하지 않음
zipcode=input("What is your 5 digit zipcode?") #gives the zipcode
#x,z,c,d,e=zipcode.split() #splits the zipcode into 5 sections IGNORE
def correctiondigit(zipcode): #LAST BLOCK OF 6 BLOCK BARCODE
zipcode.split()
total= int(zipcode[0])+int(zipcode[1])+int(zipcode[2])+int(zipcode[3])+int(zipcode[4])
if total % 10!=0:
total=10-total%10
return total
#return(correctiondigit(zipcode)) IGNORE
def barcode(a):
if a==0:
return("||:::")
elif a==1:
return(":::||")
elif a==2:
return("::|:|")
elif a==3:
return("::||:")
elif a==4:
return(":|::|")
elif a==5:
return(":|:|:")
elif a==6:
return(":||::")
elif a==7:
return("|:::|")
elif a==8:
return("|::|:")
elif a==9:
return("|:|::")
def makebar(x):
zipcode.split()
for i in zipcode:
barcode(x)
print("|",makebar(zipcode),correctiondigit(zipcode),"|") #prints barcode in not barcode form...
작성된이 코드도 작동하지 않아야합니다. 'zipcode.split()'는 아마도 당신이 생각하는대로하지 않을 것입니다. ''12345 '와 같은 문자열에'.split' 메서드를 사용하면'[ "12345"]와 같은 단일 항목의 목록이됩니다. 그리고 반복을 시도하면 하나의 항목 만 반복합니다 , 문자열의 문자가 아닙니다. 바코드가 통과하는 이유는 무엇이든 지나치지 않기 때문입니다. – sytech
죄송합니다. 저는 정말 파이썬에 새로운 것이 었습니다. 클래스를 설명하는 동안 병이 났지만 그런 식으로 일한다고 들었습니다. 어떻게하면 입력 된 5 자리를 나누어서 각 숫자를 가져 와서 내 함수를 통해 최종 5 개의 바코드 조합을 인쇄 할 수 있습니까? –