본문 바로가기
Computer Science/Python

[Python] 군대에서 공부하기 Week5

by BrickSky 2023. 10. 17.

🗓️ 23.10.16

- 하나씩 만들기: 입대일, 오늘 날짜 정하기

 

- 전역일 계산하기

 

- 남은 일수 계산하기

 

- 깔끔하게 다듬기: 함수화

# 함수화 해보기
import datetime

def calculate_discharge_date():
    year = 2023
    month = 2
    day = 28
	
    enlistment_date = datetime.date(year, month, day)
		
    # 현재 날짜 가져오기
    current_date = datetime.date.today()

    # 전역일 계산
    discharge_date = enlistment_date + datetime.timedelta(days=548)

    # 남은 일 수 계산
    remaining_days = discharge_date - current_date

    return remaining_days



🗓️ 23.10.17

- 깔끔하게 바꾸기

# 함수를 깔끔하게 바꾸기
import datetime

def calculate_discharge_date(enlistment_date):
    # 현재 날짜 가져오기
    current_date = datetime.date.today()

    # 전역일 계산
    discharge_date = enlistment_date + datetime.timedelta(days=548)

    # 남은 일 수 계산
    remaining_days = discharge_date - current_date

    return remaining_days

def main():
    # 사용자로부터 입대일 입력 받기
    year = 2023
    month = 2
    day = 28

    enlistment_date = datetime.date(year, month, day)

    # 전역일 계산 및 출력
    remaining_days = calculate_discharge_date(enlistment_date)
    print("남은 전역일:", remaining_days)

# 프로그램 실행
main()

입력 기능을 분리함으로써 코드를 깔끔하게 바꿀 수 있다.


- 이상형 월드컵 만들기

• return 모듈을 임포트 한다.

import random


• world_cup 함수를 정의한다.

def world_cup(girl_groups):

 

# input 함수를 에러를 발생시켜서 사용하지 않고 
# 랜덤으로 고르는 형태로 코드를 작성해보겠습니다
import random

def world_cup(girl_groups):
    round_num = 1

    while len(girl_groups) > 1:
        print(f"=== Round {round_num} ===")
        winners = []

        for i in range(0, len(girl_groups), 2):
            group1 = girl_groups[i]
            group2 = girl_groups[i+1]

            print(f"{group1} vs {group2}")
            winner = play_match(group1, group2)
            winners.append(winner)

        girl_groups = winners
        round_num += 1

    print(f"\n 토너먼트 최종 우승자는 {girl_groups[0]}!")

def play_match(group1, group2):
    # 이 예제에서는 랜덤하게 선택하는 코드를 사용합니다.
    random_choice = random.choice([group1, group2])
    print(f"승자는 : {random_choice}")
    return random_choice


girl_groups = ["뉴진스", "블랙핑크", "에스파", "아이브", "잇지", "여자아이들", "르세라핌", "트와이스"]
world_cup(girl_groups)

 

- 자기 계발 목표 프로그램 만들기



강의를 다 들었다!!
할 수 있을까? 싶었는데 해냈다.
이젠 파이썬의 기초를 어느 정도 알기에.. 파이썬으로 알고리즘을 도전해보려 한다! 뿌듯하구먼😀😀 앞으로도 파이팅!