2017-09-23 1 views
-3

나는 지금 for 루프와 함께 사탕을 어떻게 든 늘릴 수있는 초과 근무를합니다. 항상 사탕 하나에서 시작하여 1 초 안에 y = ax + b의 함수로 곱하면됩니다. 결과 y 값은 시간 = 2 초로 이월됩니다. 예를 들어 :for 루프에서 하나의 반복 인쇄

a = 3 #this is a in ax+b 
b = 1 #this is b in ax+b 
t = 3 #this is time in seconds 

x = 1 
for t in range(t): 
    t+=1 
    x=(a*x)+b 
    print('str(x) + ' candies after '+str(t)+' seconds') 

이 코드는 나에게 숫자는 맞다

4 candies after 1 seconds 
13 candies after 2 seconds 
40 candies after 3 seconds 

을 세 가지 출력을 제공하지만, 문제는 그냥 마지막 문을 인쇄 할 것입니다. 그렇게 할 수있는 방법이 있습니까?

+2

인쇄의 경우 ** for the ** for 루프를 수행하십시오. 'print' 라인을 끝내기 만하면됩니다. –

+0

내 나쁜 그랬어 야 했어 – Kiki

+0

총 시간과 루프 반복 값에't'라는 이름을 재사용해서는 안됩니다. 또한 파이썬은 1 문자 변수로 제한하지 않습니다.'x' 대신에'candies'를 쓰면't' 대신'second'를,'t' 대신'time'을 쓰면 코드가 더 명확 해집니다. 총 시간 (초). –

답변

0

당신은 또한 다른 변수 t에 하나 개의 변수를 변경할 수 있습니다 루프

for t in range(t): 
    t+=1 
    x=(a*x)+b 
print(str(x) + ' candies after '+str(t)+' seconds') 
# 40 candies after 3 seconds 

위해 밖으로 인쇄 문을 이동하여이 작업을 수행 할 수 있습니다. 예.

a = 3 #this is a in ax+b 
b = 1 #this is b in ax+b 
t = 3 #this is time in seconds 

x = 1 
for i in range(t): 
    i+=1 
    x=(a*x)+b 
print(str(x) + ' candies after '+str(i)+' seconds') 
+0

루프에서't'를'i'로 바꾸려면'for' 줄 뒤에 다른 모든't' 어카운트를 ** 교체해야합니다. –

관련 문제