문제

나을 계산하기 위해 노력하는 숫자 확인을 위한 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 을 반환하기:를 보시려면 무엇입니까"",당신이 그것을 사용해야합니다 tuplelist 을 강의 평가입니다.이에 대한 위험 할 수 있습 무한한 발전기,대한 명백한 이유.

다른 팁

나는 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"
.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top