Python 숫자 입력받아서 요일 가져오기

2020. 4. 10. 11:37Python/소스코드

728x90
반응형

Python 숫자 입력받아서 요일 가져오기


가끔 날짜와 요일을 가져오고 싶을 때가 있다.

 

이럴 때 Pyhton으로 간단하게 가져올 수 있다.

 

제일 먼저 숫자를 입력 받습니다. (저는 2019, 01, 20 을 입력 했습니다.

# 사용자에게 입력 받음 
y = int(input("연 : "))
m = int(input("월 : "))
d = int(input("일 : "))

그럼 위에 처럼 각 각의 변수에 2019, 01, 20 이라는 값을 가지고 있는 상태니까

 

이 정보를 가지고 요일을 구하는 함수를 만들면 되겠습니다.

def getDay_c(a,b,c):
    daylist = ['월', '화', '수', '목', '금', '토', '일']
    return daylist[datetime.date(a,b,c).weekday()]

간단하게 리스트에 [월, 화, 수 ....] 요일들을 담아 둡니다.

그런 다음 입력 받은

a(2019),b(01),c(20) 값들을

datetime.date(2019, 01, 20) 형식 처럼 넣는거죠!

 

.weekday() 메소드는 요일을 리턴해주는 메소드인데

월요일은 0, 화요일은 1, 수요일은 2 이런식으로 리턴을 해줍니다.

 

그래서 만약에 입력한 날이 '목'요일 이다!

그러면 daylist[3] 이 Return 되는 것이죠.

 

이런 원리로 요일을 가져올 수 있었습니다.

숫자로 날짜입력 받아서 요일 가져오기

 

import datetime
import time

def getDay_c(a,b,c):
    #리스트에 월 ~ 일까지 담아둠
    daylist = ['월', '화', '수', '목', '금', '토', '일']
    #datetime.date(2019,1,20).weekday() 
    #weekday() 라는 메소드의 반환 값은 월요일은 0, 화요일은 1 이므로
    #요일의 값이 리스트의 0번째 값인 daylist[0] = '월' 방식으로 가져온다.
    return daylist[datetime.date(a,b,c).weekday()]

# 사용자에게 입력 받음 
y = int(input("연 : "))
m = int(input("월 : "))
d = int(input("일 : "))

ddd = getDay_c(y,m,d)   # 입력한 날'
print(f"입력 한 {y}.{m}.{d} 는 {ddd}요일 입니다.")


아래는 오늘의 요일 예제

 

▼실행화면 

 

▼ 소스코드

import time

def getDay():
    now = time.localtime()
    daylist = ['월', '화', '수', '목', '금', '토', '일']
    return daylist[now.tm_wday]

ccc = getDay()          # 오늘
print(f"오늘은 {ccc}요일 입니다.")

 

 

728x90
반응형