string method(스트링 메소드)를 이용해서 크리스마스 트리🎄 만들기(2) - 코드 간소화 + for문 활용

GGUKI·2022년 12월 30일
0

파이썬

목록 보기
3/4
post-thumbnail

지난 포스팅에서 크리스마스 트리를 만들어봤다!

그런데, 반복문을 사용하기 전이라서 무려 13개의 print 함수를 만드는 노동을 했다.

for 문과 while문을 배운 이상, 크리스마스 트리를 더 이상 단순하게 만들 수 없어서 번에는 for문을 이용해서 간결한 코드를 작성해보았다.

첫 번째 코드

tree = input('Enter "*" for tree: ')
floor = input('Enter "#" for floor: ')

for i in [1,3,5,7,9,11,13]:
    print((tree*i).center(30))
for j in [3,3,3]:
    print((floor*j).center(30))

코드를 만들고 저번보다 더 큰 트리를 쉽게 만들어낼 수 있을것이라고 기대하고 대왕 트리를 출력하려고 보니, 리스트 부분에 숫자를 또 하나하나 추가해야 한다는 것을 깨달았다. 그래서 range의 특성을 이용해서 다시 한번 코드를 짜보았다.

두 번째 코드

tree = input('Enter "*" for tree: ')
floor = input('Enter "#" for floor: ')

for i in range(1,14,2):
    print((tree*i).center(30))
for i in range(3):
    print((floor*3).center(30))

따단~ 이렇게 숫자 단 3개만 수정하면 원하는 트리를 만들어낼 수 있게 되었다.✨

초대왕트리🎄

기념으로, 초대왕 트리를 만들었다. 두 번째 코드 포맷에서 숫자들만 수정해주었다.

tree = input('Enter "*" for tree: ')
floor = input('Enter "#" for floor: ')

for i in range(1,100,2):
    print((tree*i).center(100))
for i in range(30):
    print((floor*10).center(100))

여전히 아쉬운 점

그런데 여전히 아쉬운 점이 존재한다.

1) 크리스마스 트리인만큼, 중간중간 장식이 들어가면 더 예쁠 것 같다.

2) 크리스마스 크기가 커질수록, center도 더 크게 조정해줘야 한다. 자동으로 크기에 맞게 center도 조정되는 코드를 만들고 싶다. 그런 코드가 반드시 존재할 거라고 생각한다!

profile
신기술 조아

0개의 댓글