나는 학교가 파이썬을 사용하기위한 숙제 문제에 약간의 도움이 필요합니다. 프롬프트는 꽤 간단하지만, 나는 그것을 알아낼 수 없습니다. 간단한 파이썬 숙제로 디버깅하는 방법은 무엇입니까?
def rem(A,B):
return [A[0] % b for b in B]
는 지금 정의가 작동하지만, 각 시퀀스의 첫 번째 값 :
'''
rem(A,B) returns the list
[A[0]%B[0], A[1]%B[1], ...] etc
>>> rem((10,20,30), (7,8,9))
[3, 4, 3]
>>> X = [ i for i in range(10,18) ]
>>> Y = [ j+3 for j in range(8) ]
>>> rem(X,Y)+["?"]
[1, 3, 2, 1, 0, 7, 7, 7, '?']
>>> rem([5,3], [3,2])
[2, 1]
>>> rem([10,9], [5,4])
[0, 1]
'''
내가하는 일의 종류가 아니라 확실히이 코드 조각을 만들었습니다. 나는 그것이 A[x+1]
을 할 수있는 몇 가지 방법이 필요합니다,하지만 난 모르겠어요 - 나는 이것이 A[0]
때문이라고 생각합니다. 또한 나는뿐만 아니라 정의에 range()
곳을 사용한다는 것을 확신합니다.
애 스커는 이미 LC를 잘 알고있다. 내 대답은 단순히 실종 된 지난 두 개념이있는, 반복하는 동안 풀고'우편()'와 튜플을 보여줍니다. 그리고'range (len (...)) '를 반복하는 코드를 작성하지 마십시오. –
@ IgnacioVazquez-Abrams 당신 말이 맞습니다. 그는 그들에게 익숙합니다. 죄송합니다. 하지만 'range (len())'는 앞으로 전달되지 않을까요? 아니면 왜 말하는거야? 제가 말했듯이, 당신의 대답이 더 좋다고 생각합니다, 저는 다른 옵션을 추가하기를 원했습니다. – Trufa
'range (len (...))'를 사용하면 객체를 직접 노출하는'zip()'(또는'itertools.izip()')와는 반대로 객체를 검색 할 때 여러 번의 색인 작업이 필요합니다. –