TIL[16]. 파이썬 정리_파이썬

jake.log·2020년 8월 20일
0
post-custom-banner

위코드 3일차_ 파이썬

html, css 기본을 다루고, 파이썬 공부를 시작했습니다.
파이썬은 기존에 공부를 조금 해왔어서, 이번에 공부를 하며 새롭게 알게되거나 이해하지 못했던 개념을 정리해보겠습니다.

1. Testing set of conditions

문제) 월(month)와 일(day), 이 2가지를 input 값으로 받았을때, 2019년의 해당 월과 일의 다음 날의 월과 일을 출력해주세요.

예를 들어, month 는 3이고 일은 31이면 2019년 3월 31일의 다음날은 4월 1일 임으로 다음과 같이 출력이 되면 됩니다 (월 과 일을 각각 다른 줄에 출력 해주세요).


#조건 
# 1,3,5,7,8,10,12 는 31일까지면 day 31이면 month +1 , 1 이외는 day +1  
# 4,6,9,11 은 30일까지면  day 30이면 month +1 , 1  이외는 day+1
# 월 = 2 and day = 28일 이면 day 28이면 month +1 , 1 이외는 day+1

month = int(input())
day = int(input())

def solution(month,day):
  if month in set([1,3,5,7,8,10,12]) and day == 31:
      print (month + 1)
      print (1)
     
  elif month in set([1,3,5,7,8,10,12]) and day != 31: 
      print (month)
      print (day + 1)    
 
  elif month in set([4,6,9,11]) and day == 30: 
      print (month + 1)
      print (1)

  elif month in set([4,6,9,11]) and day != 30: 
      print (month)
      print (day+1)    
 
  elif month == 2 and day == 28: 
      print (month + 1)
      print (1)
     
  elif month == 2 and day != 28: 
      print (month)
      print (day + 1)
     
solution(month,day)

2. 중첩 if (Nested If Statements)

if 문이 여러개 쓰일 때 가독성이 떨어지기 때문에 중첩으로 사용하여 읽기 편하게 해줄 수 있습니다.

1.가독성이 떨어지는 if문 예시

if status == "학생" and year >= 3:
    print("취업이 곧 다가온다!")
elif status == "학생" and year == 2:
    print("그래도 아직 놀 시간이 있네..")
elif status == "학생" and year < 2:
    print("한창 놀때지..")
else:
    print("열심히 공부 해서 대학교 부터 가라!")

2.중첩 if문 사용 예시

if status == "학생":
    if year >= 3:
        print("취업이 곧 다가온다")
    elif year == 2:         
        print("그래도 아직 놀 시간이 있네..")
    elif year < 2:                  
        print("한창 놀때지..")
else:
    print("열심히 공부 해서 대학교 부터 가라!")

3. 함수(Function)

함수는 일정한 작업을 수행하는 코드블럭입니다.

함수를 사용하면

  1. 반복되어 계속 사용되는 코드들을 함수로 정의하여 효과적으로 사용할 수 있고
  2. 함수로 정리를 해서 코드의 가독성을 높일 수 있습니다.

파이썬에서 함수는 def 키워드를 사용하여 정의합니다.

def 함수명(parameter):
    문장1
    문장2
    ...
    문장N
    [return 리턴값]
profile
꾸준히!
post-custom-banner

0개의 댓글