Day10~13. 5/12~15일 파이썬 중급 기출 문제풀이

이동은·2023년 5월 16일
0
post-thumbnail

오늘의 목표

  • 파이썬 중급 문제풀이 완료

오늘의 달성 목표

  • 파이썬 중급 문제풀이 완료

오늘을 마치며

  • 클래스를 넘어가면서 부터 확실히 생각할게 많아지고 코딩이 어려워지고 있다. 문제를 보고 코딩을 풀어내는 방식을 보고 감탄을 하면서 강의를 들었다. 손에 익을때까지 반복적으로 연습을 해야겠다.

파이썬 중급 기출 문제풀이

거리, 시간, 속도 공식

  • 거리 = 속도 * 시간(hour + minute / 60) 분을 항상 나눠줘야 한다.
  • 시간 = 거리(km) / 속도(speed)
  • 시간에서 분을 구할때 (100:75 = 60:x)을 이용하여 분을 시간 단위로 바꿔줘야 한다.

format 함수를 통해서 숫자 소수점 표시하기 가능

  • def formatedNum(n):
    return format(n, ',')
  • 등차 수열(일반항) 공식: an = a1 + (n-1) * d
  • 등차 수열(합) 공식: sn = n(a1 + an) / 2
- format 함수를 통해서 숫자 소수점 표시하기 가능
def formatedNum(n):
return format(n, ',')

클래스

  • 클래스를 이용하여 객체의 데이터 및 정보를 입력 및 출력할 수 있음
  • 클래스의 상속 구조를 이용하여 코딩을 깔끔하게 진행할 수 있음
  • 추상 클래스를 이용하여 한/영 사전 만들기 위해서는 from abc import ABCMeta와 from abc import abstractmethod가 선행되어야함.
  • from time import sleep을 이용하면 프로그램을 잠시 중지 시켰다가 실행시킬 수 있음

텍스트

ship1 = 3; ship2 = 4; ship3 = 5
maxDay = 0

for i in range(1, (ship1 + 1)):
    if ship1 % i == 0 and ship2 % i == 0:
        maxDay = i

# print('최대공약수: {}'.format(maxDay))

minDay = (ship1 * ship2) // maxDay
# print('{}, {}의 최소공배수: {}'.format(ship1, ship2, minDay))


newDay = minDay
for i in range(1, (newDay + 1)):
    if newDay % i == 0 and ship3 % i == 0:
        maxDay = i

# print('최대공약수: {}'.format(maxDay))

minDay = (newDay * ship3) // maxDay
# print('{}, {}, {}의 최소공배수: {}'.format(ship1, ship2, ship3, minDay))

# print('{}일마다 모든 선박이 입항합니다.'.format(minDay))


from datetime import datetime
from datetime import timedelta

n = 1
baseTime = datetime(2021, 1, 1, 10, 0, 0)
# baseTime = datetime.now()

# print(f'2021년 모든 선박 입항일: {baseTime}')
with open('C:/pythonTxt/arrive.txt', 'a') as f:
    f.write(f'2021년 모든 선박 입항일\n')
    f.write(f'{baseTime}\n')

nextTime = baseTime + timedelta(days=minDay)
while True:

    # print(f'2021년 모든 선박 입항일: {nextTime}')
    with open('C:/pythonTxt/arrive.txt', 'a') as f:
        f.write(f'{nextTime}\n')

    nextTime = nextTime + timedelta(days=minDay)
    if nextTime.year > 2021:
        break

[해당 글의 내용은 제로베이스 데이터스쿨 강의 자료중 일부가 포함되어 있습니다.]

profile
또 다른 나를 찾아서

0개의 댓글