Link
Recent Posts
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 2회기출
- 워드클라우드
- 실기
- 튜플
- 행별속성합계
- 빅데이터분석기사
- 리스트
- 백준1920
- 공빅데기관매칭
- 딕셔너리
- 빅분기실기
- konlpy
- set시간복잡도
- 파이썬셋
- 공빅데
- 파이썬입출력
- 파이썬튜플
- 태블로
- 셋
- 파이썬AHP
- 백준 2164
- 작업형2
- 빅분기
- 공공빅데이터청년인턴
- 파이썬
- dataq
- 컨테이너
- csv병합
- 예측모델링
- 파이썬딕셔너리
- Today
- Total
Data Science
파이썬 함수 본문
함수¶
Q. 기온이 0도 보다 높으면 '아이스 아메리카노'를 출력하고, 그렇지 않은 경우에는 '따뜻한 아메리카노'를 출력하는 함수를 만들어보세요
In [1]:
def coffee(temp):
if temp > 0 :
print("아이스 아메리카노")
else:
print("따뜻한 아메리카노")
In [2]:
coffee(30)
아이스 아메리카노
In [3]:
coffee(-1)
따뜻한 아메리카노
In [4]:
# 반환하는 형태
def coffee(temp):
result=''
if (temp > 0):
result = "아이스 아메리카노"
else:
result = "따뜻한 아메리카노"
return result
In [6]:
c = coffee(30)
print("추천 커피는 {} 입니다.".format(c))
추천 커피는 아이스 아메리카노 입니다.
Q. 시험 성적은 다음과 같습니다. 시험 문제중, 한 문제가 잘못 출제되어 모두 5점씩 추가 점수를 받도록 조치를 취했습니다. 변경 후 점수를 반환 하는 함수를 만드세요
In [7]:
scores = [80,90,70,65,85,95,90,80,75,80]
In [8]:
def update_scores(scores):
new_scores = []
for score in scores:
new = score + 5
new_scores.append(new)
return new_scores
In [9]:
new = update_scores(scores)
print(new)
[85, 95, 75, 70, 90, 100, 95, 85, 80, 85]
Q. 동요 '산토끼'에서 '토'는 몇 번 나올까요?
In [14]:
def get_char_count(lyric,char):
cnt = 0
for l in lyric:
if(l == char):
cnt = cnt + 1
return cnt
In [15]:
lyric = """산토끼 토끼야. 어디를 가느냐. 깡충깡충 뛰면서. 어디를 가느냐. 산 고개 고개를. 나혼자 넘어서. 토실토실 알밤을. 주워 올 테야."""
In [16]:
print(get_char_count(lyric,'토'))
4
In [17]:
print(get_char_count(lyric,'산'))
2
In [18]:
test = "산산산산산산산"
In [19]:
print(get_char_count(test,'산'))
7
In [20]:
print(get_char_count(test,'토'))
0
Q. 영단어 또는 문장을 인자로 받아서 대문자와 소문자로 출력하는 함수를 만들자
In [21]:
def change_word_case(word):
upperCase = word.upper()
lowerCase = word.lower()
return upperCase,lowerCase
In [22]:
change_word_case("I love seoul.")
Out[22]:
('I LOVE SEOUL.', 'i love seoul.')
In [23]:
upper, lower = change_word_case("I Love Seoul")
print('대문자는 {0}이고 소문자는 {1}이야. 나는 대문자 {0}가 적힌 티셔츠를 만들고 싶어'.format(upper,lower))
대문자는 I LOVE SEOUL이고 소문자는 i love seoul이야. 나는 대문자 I LOVE SEOUL가 적힌 티셔츠를 만들고 싶어
파이썬에서는 여러 개의 출력을 반환하는 함수를 만들 수 있기 때문에, 여러 개의 변수에 값을 담을 수 있습니다.
만약 반환값이 여러 개인 함수를 사용하는데,
특정 반환값만 변수에 담아서 사용하길 원한다면 사용하지 않을 변수는 관행적으로 _ 라고 선언합니다.
In [24]:
upper, _ = change_word_case("I Love Seoul")
print('대문자는 {0} 이야.'.format(upper))
대문자는 I LOVE SEOUL 이야.
Q. 두 수와 연산자를 입력 받아 사칙연산의 결과를 출력하는 계산기를 만들어 보세요
In [36]:
def calculator(op,num1,num2):
if (op == "+"):
return num1 + num2
elif (op == "-"):
return num1 - num2
elif (op == "*"):
return num1 * num2
elif (op == "/"):
if (num2 != 0):
return num1 / num2
else:
print("0으로 나눌 수 없습니다.")
else:
print("Error")
In [30]:
calculator('+',1,2)
Out[30]:
3
In [31]:
calculator('?',1,2)
Error
In [38]:
calculator('/',2,0)
0으로 나눌 수 없습니다.
In [39]:
calculator('/',10,3)
Out[39]:
3.3333333333333335
Q. 키와 성별을 입력 받아서 권장 체중을 화면에 출력하는 함수
- 남자 권장 체중 = (키 - 100)
- 여자 권장 체중 = (키 - 100) * 0.9
In [43]:
def print_weight(height,sex):
weight = 0
if (sex == "남"):
weight = height - 100
elif (sex == "여"):
weight = (height - 100) * 0.9
print("권장체중은 {}kg 입니다.".format(weight))
In [44]:
print_weight(180,'남')
권장체중은 80kg 입니다.
In [45]:
print_weight(180,'여')
권장체중은 72.0kg 입니다.
Q. 입력 받은 인자를 모두 더하는 함수를 작성하세요.
In [46]:
def sum(*args):
result = 0
for num in args:
result = result + num
return result
In [47]:
sum(2,4,6,8)
Out[47]:
20
람다¶
lambda 인자 : 함수 본문
(lambda 인자 : 함수 본문) (인자값)
In [48]:
(lambda x : x + 5)(100)
Out[48]:
105
In [49]:
sum5 = lambda x : x + 5
print(sum5(100))
105
Q. 권장 체중을 계산하는 함수
In [51]:
weight = lambda height : (height - 100) * 0.9
print(weight(170))
63.0
In [52]:
(lambda height : (height - 100) * 0.9)(170)
Out[52]:
63.0
Comments