작성
·
326
0
파이참으로 100~200 까지 3의 배수 인쇄하고, 그의 합 구하고 있는데
3의 배수 5개씩 인쇄는 잘 했는데 합계가 이상하게 구해집니다.
오류가 어디에 있는 건지 모르겠어요.. 고치면 오류떠서 아예 실행이 안되는데 ㅜㅜ
for문이랑 while문 두개로 만들고 있는데 둘다 합계만 이상하게 뜹니다. ㅠ
<<for문>>
a = 0
hap = 0
count = 0
for a in range(100, 201) :
if a % 3 == 0 :
print(a)
count = count + 1
if count % 5 == 0 :
print()
a = a + 1
hap = hap + a
print("100~200 중 3의 배수의 합 : %d" % hap)
<<while문>>
a = 100
count = 0
hap = 0
while a <= 200 :
if a % 3 == 0 :
print(a)
count = count + 1
if count % 5 == 0 :
print()
a = a + 1
hap = hap + a
print("100~200 중 3의 배수의 합 : %d" % hap)
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
for문과 while문으로 100~200 중 3의 배수를 출력하고, 그 합을 구하려고 하시는 것 같군요. 코드를 봤을 때, 합계 부분에서 오류가 발생하는 것 같아요.
for문에서 합계를 구할 때, a 값을 더하기 전에 바로 hap에 더해주고 있어요. 그래서 합계가 이상하게 나오는 거죠. 다음과 같이 수정하면 될 것 같아요.
a = 0
hap = 0
count = 0
for a in range(100, 201) :
if a % 3 == 0 :
print(a)
count = count + 1
if count % 5 == 0 :
print()
hap = hap + a # 여기를 수정해주면 됩니다.
print(“100~200 중 3의 배수의 합 : %d” % hap)
while문도 마찬가지입니다. hap = hap + a의 위치를 수정해주시면 될 거에요.
a = 100
count = 0
hap = 0
while a <= 200 :
if a % 3 == 0 :
print(a)
count = count + 1
if count % 5 == 0 :
print()
hap = hap + a # 여기를 수정해주면 됩니다.
a = a + 1
print(“100~200 중 3의 배수의 합 : %d” % hap)
수정한 코드를 실행해보시고, 문제가 있으면 댓글로 남겨주세요!
감사합니다!
for문,while문 둘다 hap 식의 위치를 count 밑으로 옮겨서 수정했습니다!
역시 hap식에 문제가 있었습니다.ㅠㅠ
덕분에 수정해가면서 식 이해도 더 잘 되었습니다! 감사합니다!!