Keep-H's Hardware Design Study Notes

Python(1) 본문

Python/python 실습

Python(1)

Keep-H 2022. 9. 30. 14:10

다이아몬드 모양 별찍기

n=int(input("첫번째 값:"))

 

for x in range(1, (n//2+1)+1,1):

    for y in range(n//2,x-1,-1):

        print(" ",end="")

    for z in range(0,x*2-1,1):

        print("*",end="")

    print()

for k in range(0,n//2,1):

    for l in range(0,k+1,1):

        print(" ",end="")

    for m in range((n//2*2-1),2*k,-1):

        print("*",end="")

    print()

결과 출력

입력되는 n의 값 / 최대 별 개수 / 순서대로 쌓이는 별의 개수: n1->n2 ...


01 ->1
23 ->3 / 1
45 ->5 / 3->1
67->7 / 5->3->1
89->9 / 7->5->3->1

 

주어지는 k에 따라 별이 줄어들도록 하면 될 것이라 생각했다.

 

짝수와 홀수를 나눠 조건문을 사용하면 쉽게 해결할 수 있을 것 같지만 문제에서는 반복문만을 사용하도록 했다.

 

따라서 규칙을 파악하기 위해 n과 k에 적절한 숫자를 넣어 확인했다.

 

원하는 결과를 출력하기 위해 k에 대한 식을 조절하면서 결과값을 확인했다.

더보기

 

EX>

3,1,-1 -> 3 2 2개
3,2,-1 -> 3 1개

3,0,-1 -> 3개
3,1,-1 -> 2개

 

k=0~1 2개 
k가 0과 2가 나오도록 하려면? 2*k를 넣어주어야겠다.

 

 

 

 

'Python > python 실습' 카테고리의 다른 글

버블정렬 정리  (0) 2022.12.11
파이썬으로 간단한 게임 만들기  (0) 2022.11.05