문제
나을 계산하기 위해 노력하는 숫자 확인을 위한 ISBN 입력에 있습니다.지금까지 나는...
def ISBN():
numlist = []
request = raw_input("Please enter the 10 digit number: ")
if len(request) == 10:
**numlist == request
print numlist**
if len(request) != 10:
print "Invalid Input"
ISBN()
ISBN()
대담한 비트가 어디에 임하는 데 문제가 내 것을 나누 10 자리로 입력 개별 번호(목록에서 numlist)을 곱하면 분리된 개별 숫자 11 다음 10 다음 다음 9etc...에 대해 다음의 일부는 산의 샘을 찾아가 직접 시음하길 권유를 추가해야 합니다 이 새로운 곱 번호 목록에서 함께,다음 사용 하는 것입니다 mod(%)함수를 나머지를 얻는 다음 빼면에서 번호를 11,어떤 도움으로 어떤 나의 코딩 또는 잘못된 문서를 계산하는 방법 ISBN 주시면 감사하겠습니다.감사합니다.
해결책
이 코드에 당신의 방법에 당신을 얻을:
listofnums = [int(digit) for digit in '1234567890']
multipliers = reversed(range(2,12))
multipliednums = [a*b for a,b in zip(listofnums, multipliers)]
문자열을 반복 가능한,그렇게 반복하면,그들 각각의 요소를 반환 단일-문자열입니다.
int
빌드 int 에서(유효)문자열입니다.
표기 [a*b for a,b in zip(listofnums, multipliers)]
목록해,편리한 구문을 매핑하기 위한 순서를 새로운 목록입니다.
로,나머지를 탐험에 복제.Note reversed
을 반환하기:를 보시려면 무엇입니까"",당신이 그것을 사용해야합니다 tuple
나 list
을 강의 평가입니다.이에 대한 위험 할 수 있습 무한한 발전기,대한 명백한 이유.
다른 팁
나는 list()
가 당신이 찾고있는 것이 무엇인지 믿는다.
numlist=list(request)
여기에 코드를 작성하는 방법입니다.나는 코드를 올바르게 해석하기를 바랍니다.
def ISBN():
request = raw_input("Please enter the 10 digit number: ")
if len(request) == 10:
numlist = list(request)
print numlist
else:
print "Invalid Input"
ISBN()
. import itertools
if sum(x * int(d) for x, d in zip(nums, itertools.count(10, -1))) % 11 != 0:
print "no good"
.