# 반환값
# add 함수 : 매개변수 2개, 리턴값 존재
# return v1+v2 : return 함수 종료
# : return v1+v2 함수 종료시 두 수의 합을
# 호출한 함수(main) 에게 전달
def add(v1,v2) :
return v1+v2
hap,sub =0,0
hap = add(10,20)
print("10+20=",hap)
# 리턴 값이 여러개 존재하는 경우
def multi(v1,v2) :
list = []
res1 = v1+v2
res2 = v1-v2
list.append(res1)
list.append(res2)
return list
hap,sub=0,0
list = multi(100,200)
hap = list[0]
sub = list[1]
print("multi 함수의 리턴 : %d, %d" %(hap,sub))
# 가변 매개변수 : 매개변수의 갯수 지정이 안됨
def multiParam(* p) :
result = 0
for i in p :
result += i
return result
hap,sub = 0,0
list = multi(100,200)
hap = list[0]
sub = list[1]
print("multi 함수의 리턴 : %d, %d" %(hap,sub))
print("multiParam()=",multiParam())
print("multiParam(10)=",multiParam(10)) #10
print("multiParam(10,20)=",multiParam(10,20)) #30
print("multiParam(10,20,30)=",multiParam(10,20,30)) #60
# 함수의 종료 없이 중간에 값을 리턴
# yield = 중간 값 전달
def genFun(num) : #5
for i in range(10,num+10): #10에서 14까지 값을 리턴
yield i #i변수 값을 전달해준다 아래아래 줄로 #함수 종료없이 중간에 값 전달
print(i, "값 반환")
print(list(genFun(5)))
for data in genFun(5):
print("main에서 출력 : ",data)
# 문제
# 함수 calc는 두개의 수와 하나의 연산자를 매개변수로 받아
# 결과를 전달하도록 작성하기
def calc(v1,v2,op):
result = 0
if op == "+":
result = v1 + v2
elif op == "-":
result = v1 - v2
elif op == "*":
result = v1 * v2
elif op == "/":
result = v1 / v2
return result
oper = input("연산자를 선택하세요:(+,-,*,/) =>")
var1 = int(input("첫번째 수 =>"))
var2 = int(input("두번째 수 =>"))
res = calc(var1,var2,oper)
print("계산 : %d %s %d = %.2f" % (var1,oper,var2,res))
# #.2f에서 .2는 소숫점이하 2자리 수까지 출력
# 리스트 값의 합과 평균을 구하는 함수 작성
def getMean(numlist) :
if len(numlist) > 0 :
return sum(numlist)/len(numlist)
else :
return 0
def getMean(numlist) :
return sum(numlist)/len(numlist) if len(numlist) > 0 else 0
def getSum(numlist) :
return sum(numlist)
list1 = [2,3,3,4,4,5,5,6,6,8,8]
print("list1의 합 :",getSum(list1))
print("list1의 평균 :",getMean(list1))
tp1 = (2,3,3,4,4,5,5,6,6,8,8)
print("list1의 합 :",getSum(tp1))
print("list1의 평균 :",getMean(tp1))
'Python' 카테고리의 다른 글
Python - 예외 처리 (except) (0) | 2021.06.15 |
---|---|
Python - 함수/입력 연습 문제(피보나치 수열, 홀수 짝수 문제) (0) | 2021.06.15 |
Python - 함수와 람다 (0) | 2021.06.14 |
Python - Comprehension 방식 (0) | 2021.06.11 |
Python - 딕셔너리 연습 (0) | 2021.06.11 |