개발/(1) 초위파(Python) 300제 풀이

초보자를 위한 파이썬(Python) 300제 풀이 (191, 192, 193, 194, 195)

생각외로깔끔함 2022. 11. 12. 15:53
728x90
반응형

 

초보자를 위한 파이썬(Python) 300제 풀이

 

 

 

191. data에는 매수한 종목들의 OHLC (open/ high/ low/ close) 가격 정보가 바인딩 되어있습니다. 수수료를 0.014%로 가정할 때, 각 가격에 수수료를 포함한 가격을 한 라인에 하나씩 출력하세요.

data = [
    [ 2000,  3050,  2050,  1980],
    [ 7500,  2050,  2050,  1980],
    [15450, 15050, 15550, 14900]
]
2000.28
3050.427
2050.2870000000003
...

 

for x in data:
    for y in x:
        print(y * 1.00014)
  • for 문 안에 또 다른 for 문을 설정해서 해결할 수 있습니다.

 

192. 191번의 출력 결과에 행단위로 "----" 구분자를 추가하세요.

2000.28
3050.427
2050.2870000000003
1980.2772
----
7501.05
2050.2870000000003
2050.2870000000003
1980.2772
----
15452.163
15052.107
15552.177
14902.086000000001
----

 

for x in data:
    for y in x:
        print(y * 1.00014)
    print("----")
  • for 문은 위에서 아래로 순차적으로 진행이 됩니다. 순서에 맞춰서 적용하면 해결 가능합니다.

 

193. 192번 문제의 결과값을 result 이름의 리스트에 1차원 배열로 저장하세요.

>> print(result)
[2000.28, 3050.427, 2050.2870000000003, 1980.2772, 7501.05, 2050.2870000000003, 2050.2870000000003, ...]

 

result = []
for x in data:
    for y in x:
        result.append(y * 1.00014)

print(result)
  • 리스트의 append 함수를 적용시켜서 for 문과 연계하여 사용할 수 있습니다.

 

194. 191번 문제의 결과값을 result 이름의 리스트에 2차원 배열로 저장하세요. 저장 포맷은 아래와 같습니다. 각 행에 대한 데이터끼리 리스트에 저장되어야 합니다.

>> print(result)
[
 [2000.28, 3050.427, 2050.2870000000003, 1980.2772],
 [7501.05, 2050.2870000000003, 2050.2870000000003, 1980.2772],
 [15452.163, 15052.107, 15552.177, 14902.086000000001]
]

 

result = []

for x in data:
    sub = []
    for y in x:
        sub.append(y * 1.00014)
    result.append(sub)

print(result)
  • 위 답안과 같이 sub라는 리스트를 해당 위치에 적용시키면, data에 다음 인덱싱으로 넘어갈 때, sub 리스트는 다시 초기화가 됩니다.
  • 이러한 기능들을 이용하여 해결할 수 있습니다.

 

195. ohlc 리스트에는 시가(open), 고가(high), 저가(low), 종가(close)가 날짜별로 저장되어 있습니다. 화면에 종가데이터를 출력하세요.

ohlc = [["open", "high", "low", "close"],
        [100, 110, 70, 100],
        [200, 210, 180, 190],
        [300, 310, 300, 310]]
100
190
310

 

for x in ohlc[1:]:
    print(x[3])
  • 첫 번째 인덱스에 잡힌 값을 제외하고 인덱싱을 잡아주면 문제 해결이 가능합니다.

 

 

 

출처 = https://wikidocs.net/book/922, 초보자를 위한 파이썬 300제,

PyCharm 사용

728x90
반응형