본문 바로가기
정보AP

[2단원 실습문제 풀이] 파이썬으로 쉽게 풀어 쓴 자료구조

by 도로로(Dororo) 2024. 3. 29.

확실히 연습문제보다 어렵다 어려워...

1번은 수학적으로 미리 계산하고 코드에 대입하니 금방 풀렸고... 2번은 rand함수의 사용법을 몰라 잠깐 검색했지만, 양호하게 풀렸다.

3번은 *로 삼각형을 그려본 적은 있지만 이렇게 수로 그려본 적은 처음이라 생소했다.

4번....어렵다 하하하

질문/문의 사항이 있다면 댓글 남겨주세요!

#P2.1
a=int(input())
if a<=1200:
  k=0.06*a
elif a<=4600:
  k=1200*0.06+(a-1200)*0.15
elif a<=8800:
  k=1200*0.06+3400*0.15+(a-4600)*0.24
elif a<15000:
  k=1200*0.06+3400*0.15+4200*0.24+(a-8800)*0.35
else:
  k=1200*0.06+3400*0.15+4200*0.24+8800*0.35+(a-15000)*0.38
print(k)
#P2.2
import numpy as np
n=np.random.randint(10,99)

for i in range (10):
  a=int(input())
  if a>n:
    print('더 작은 수')
  elif a<n:
    print('더 큰 수')
  elif a==n:
    print('정답')
    break
print('게임 끝')
#P2.3
print('피라미드의 높이를 입력하세요:')
a = int(input())
def p(a):
    for i in range(1, a + 1):
        print("  " * (a - i), end="")
        for j in range(1, i + 1):
            print(j * 2 - 1, end=" ")
        for j in range(i - 1, 0, -1):
            print(j * 2 - 1, end=" ")
        print()
p(a)
#P2.4
def draw(row):
  for i in range(row):
    print()
    left=2**(row-i-1)-1
    right=2**(row-i-1)
    for o in range(2**i):
      print('-'*(left)+'X'+'-'*(right),end='')

a=int(input())
draw(a)
#P2.5
class Bag:
    def __init__(self):
        self.bag = []

    def insert(self, item):
        self.bag.append(item)
        
myBag = Bag()
myBag.insert('휴대폰')
myBag.insert('지갑')
myBag.insert('손수건')
myBag.insert('빗')
myBag.insert('자료구조')
myBag.insert('야구공')
print('내 가방속의 물건:', myBag.bag)

myBag.insert('빗')
myBag.insert('손수건')
print('내 가방속의 물건:', myBag.bag)