2013-12-07 5 views
1

다음 질문에 대답 할 때 코드에 도움이 필요합니다.Python 3 : 목록 및 루프

산술 진행은 연속 된 두 숫자 사이의 거리 (또는 차이)가 동일한 일련의 숫자입니다. 시퀀스 1, 3, 5, 7, ...에서이 거리는 2이고 시퀀스 6, 12, 18, 24, ...에서 거리는 6입니다.

주어진 양의 정수 거리 및 음수가 아닌 정수 n을 사용하여 1과 n 사이의 산술 진행 (거리 포함 거리)으로 구성된 목록을 만듭니다. 예를 들어, 거리가 2이고 n이 8 인 경우 목록은 [1, 3, 5, 7]이됩니다.

목록을 변수 arith_prog와 연결하십시오.

arith_prog = [] 
for i in range(1, n, distance): 
    arith_prog.append(n) 
    total = n + distance 

지금까지 만든 제안이 도움이 동안, 난 여전히 코드 랩가 찾고있는 turingscraft 올바른 해결책에 도달하지 않은 :

내 진행 상황을 업데이트했습니다.

답변

1

당신이 그것이 무엇인지입니다 나타내는 것으로 보인다 때문에 내가 숙제 질문으로이 응답 해요 : 모든

첫째, 당신은 n를 초기화하지 않습니다. 어떤 시작 가치가 있어야합니까? ?

둘째, 두 개의 루프가 필요하지 않습니다. 필요한 것은 하나뿐입니다.

셋째, distancerange()으로 전달하는 이유는 무엇입니까? 두 개의 인수를 range()에 전달하면 하위 및 상한값으로 각각 처리됩니다. - distance은 아마도 바운드가 아닙니다.

+0

n은 이미 초기화되어 있습니다 (온라인 소프트웨어). 나는 당신이 말하는 것을 이해합니다. 거리는 범위의 단계 부분이어야합니다 (시작, 중지, 단계). –

+0

'range()'에'step' 인수를 사용하고 있다면 더 이상 루프가 필요 없습니다. – Amber

+0

오? 설명 해주십시오. –

1

range 함수에는 최대 3 개의 인수가 사용됩니다. 시작, 중지 및 단계. 원하는 경우

list(range(1, n, distance)) 
+0

list-comp'list (range (1, n, distance))가 필요하지 않습니다. –

+0

잘 작성된 좋은 점 – jonrsharpe

0

arith_prog.append(n)에 문제가있는 곳입니다. .append(n).append(i)으로 바꾸려면 목록에 해당 범위의 값을 추가해야합니다. 방금 15 분 전에 숙제를했는데 이것이 올바른 해결책 중 하나였습니다. 당신이 한 같은 실수를했습니다.

0

내가 또한 myprogramminglab에이 운동을 발생이

arith_prog = [] 
n = 5 #this is just for example, you can use anything you like or do an input 
distance = 2 #this is also for example, change it to what ever you like 
for i in range(1,n,distance): 
    arith_prog.append(i) 
print(arith_prog) #for example this prints out [1,3] 
0

그런 짓을. 너는 아주 가까웠다. 시도해보십시오.

arith_prog = [] 
    for i in range(1, n + 1, distance): 
     arith_prog.append(i) 
     total = n + distance 

희망이 있습니다.