본문 바로가기

Python

주식 알고리즘 만들기 - 3. 제어문 (연습문제)

반응형

2022.10.08 - [Python] - 주식 알고리즘 만들기 - 3. 제어문 (while 문, 중첩루프)

출처 1) 연습문제 - 파이썬으로 배우는 알고리즘 트레이딩 (개정판-2쇄) (wikidocs.net)

1) 연습문제

여러분도 각자 풀어보세요~

문제 4-1

아래와 같은 패턴의 별(*)을 출력하는 프로그램을 작성해 보세요. 참고로 print('*', end='')와 같이 print 함수를 사용하면 줄바꿈 없이 화면에 출력할 수 있습니다.

*****

 

더보기
 
for i in range(0,5) :
 print('*', end='')

 

문제 4-2

아래와 같은 패턴의 별(*)을 출력하는 프로그램을 작성해보세요. (힌트: 중첩 루프 사용)

*****
*****
*****
*****
 
 

 

더보기
for j in range(0,4) :
 for i in range(0,5) :
  print('*', end='')
 print("")

for j 구조 안에 for i 구조 출력이 들어간다고 보면되죠 즉, 캥거루를 떠올리는 구조라고 생각하면 됩니다.

 

문제 4-3

아래와 같은 패턴의 별(*)을 출력하는 프로그램을 작성해보세요.

*
**
***
****
*****

 

 

더보기
 
for j in range(5) :
 for i in range(j+1) :
  print('*', end='')
 print("")

 

문제 4-4

아래와 같은 패턴의 별(*)을 출력하는 프로그램을 작성해 보세요.

*****
****
***
**
*
 
 

더보기
for j in range(5) :
 for i in range(5-j) :
  print('*', end='')
 print("")

 

문제 4-5

아래와 같은 패턴의 별(*)을 출력하는 프로그램을 작성해 보세요.

    *
   **
  ***
 ****
*****
 
 
 
더보기
for j in range(5):
        for i in range(4-j):
                print(' ', end='')
        for i in range(j+1):
                print('*', end='')
        print("")

 

문제 4-6

아래와 같은 패턴의 별(*)을 출력하는 프로그램을 작성해 보세요.

*****
 ****
  ***
   **
    *

 

더보기
for j in range(5):
        for i in range(j):
                print(' ', end='')
        for i in range(5-j):
                print('*', end='')
        print("")

 

문제 4-7

아래와 같은 패턴의 별(*)을 출력하는 프로그램을 작성해 보세요.

    *
   ***
  *****
 *******
*********

 

더보기
for j in range(5):
        for i in range(4-j):
                print(' ', end='')
        for i in range(2*(j+1)-1):
                print('*', end='')
        print("")

 

 

문제 4-8

아래와 같은 패턴의 별(*)을 출력하는 프로그램을 작성 해보세요.

*********
 *******
  *****
   ***
    *

 

더보기
for j in range(5):
        for i in range(j):
                print(' ', end='')
        for i in range(2*(5-j)-1):
                print('*', end='')
        print("")

 

 

문제 4-9

중첩 루프를 이용해 신문 배달을 하는 프로그램을 작성하세요. 단, 아래에서 arrears 리스트는 신문 구독료가 미납된 세대에 대한 정보를 포함하고 있는데, 해당 세대에는 신문을 배달하지 않아야 합니다.

>>> apart = [[101, 102, 103, 104],[201, 202, 203, 204],[301, 302, 303, 304], [401, 402, 403, 404]]
>>> arrears = [101, 203, 301, 404]
>>>
 
더보기
apart = [[101102103104],[201202203204],[301302302303], [401402403404]]
arrears = [101203301404]
for floor in apart:
        for house in floor:
                if house in arrears:
                        continue
                else:
                        print("Newspaper delivery: ", house)
728x90