728x90
반응형
SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다.
https://swexpertacademy.com/main/main.do
문제 : while문을 이용해 아래와 같이 별(*)을 표시하는 프로그램을 만드십시오.
input
ouput
*******
*****
***
*
제출 오류1
code
i=0
a=7
while a>=0:
print(" "*i,"*"*a)
i+=1
a-=2
그대로 나오게 했을때 답은 맞게 나오나 제출오류로 실패판정을 받았다.
제출 오류2
i,a=0,7
while a>=0:
print("%s %s" %(" " * i,"*" * a) )
i+=1
a-=2
이것도 마찬가지로 실패판정을 받았다.
정답 코드
i,a=0,7
while a>=0:
print("{0}{1}".format((" " * i),("*" * a) ))
i+=1
a-=2
formatting을 위와같은 형식으로 해주었을때 정답으로 판정되었다.
여기서 생각해야할 것은 첫줄에 한칸 뛰어쓰기와 별의 개수가 7개인 점이다.
a가 0이상일때까지 7개의 개수를 2개씩 줄여나가면서 한줄 내려갈때 공백을 i만큼씩 띄어쓰기 해주는 것을 원리로 생각하여 코드를 작성하면 된다.
반응형