파이썬 설치하고 2주차인데 처음에 비해 꽤 많은 걸 할 수 있게 됐다. 공부한 걸 체득하고, 문제 풀이에 앞서 문제를 이해하고 어떻게 풀 것인지 구조를 잡는 부분에 익숙해질 때까지 시간이 더 필요하겠지만, 중요한 건 분명히 발전하고 있다는 것!
def func1():
print('call func1')
func2() # 중간에 이렇게 끼워서 호출하면
print('fun2 호출 후에 실행됨') # func2 실행 후에 이 줄이 실행됨
def func2():
print('call func2')
<result>
call func1
call func2
fun2 호출 후에 실행됨
def printNum(*numbers):
for i in numbers:
print(i)
print(type(numbers))
printNum()
printNum(10)
<result>
10
<class 'tuple'>
10
<class 'tuple'>
20
<class 'tuple'>
30
<class 'tuple'>
# return한 경우
def cal(n1, n2):
result = n1 + n2
return result
print(cal(10, 20))
print(type(cal(10, 20)))
# return 없이 프린트한 경우, 데이터를 다시 이용할 수 없음
def cal2(n1, n2):
print(n1 + n2)
print(type(cal2(10, 20))) # 데이터타입이 다름
<result>
30
<class 'int'>
30
<class 'NoneType'>
def calculator(n1, n2, operator):
def add():
print('덧셈 연산: {}'.format(round(n1 + n2, 2)))
def sub():
print('뺄셈 연산: {}'.format(round(n1 - n2, 2)))
def mul():
print('곱셈 연산: {}'.format(round(n1 * n2, 2)))
def div():
print('나눗셈 연산: {}'.format(round(n1 / n2, 2)))
if operator == 1:
add()
elif operator == 2:
sub()
elif operator == 3:
mul()
elif operator == 4:
div()
while True:
n1 = float(input('실수(n1) 입력: '))
n2 = float(input('실수(n2) 입력: '))
operator = int(input('1. 덧셈, 2. 뺄셈, 3.곱셈, 4. 나눗셈, 5. 종료\n입력: '))
if operator == 5:
print('종료되었습니다.')
break
else:
calculator(n1, n2, operator)
<result>
실수(n1) 입력: 3
실수(n2) 입력: 5
1. 덧셈, 2. 뺄셈, 3.곱셈, 4. 나눗셈, 5. 종료
입력: 1
덧셈 연산: 8.0
실수(n1) 입력: 6
실수(n2) 입력: 4
1. 덧셈, 2. 뺄셈, 3.곱셈, 4. 나눗셈, 5. 종료
입력: 3
곱셈 연산: 24.0
실수(n1) 입력: 1
실수(n2) 입력: 0
1. 덧셈, 2. 뺄셈, 3.곱셈, 4. 나눗셈, 5. 종료
입력: 5
종료되었습니다.
getTriangle = lambda n1, n2: n1 * n2 / 2
getSquare = lambda n1, n2: n1 * n2
getCircle = lambda n1: n1 * n1 * 3.14
width = int(input('가로: '))
height = int(input('세로: '))
r = int(input('반지름: '))
triangle = getTriangle(width, height)
square = getSquare(width, height)
circle = getCircle(r)
print(f'삼각형 넓이: {triangle}')
print(f'사각형 넓이: {square}')
print(f'원 넓이: {circle}')
<result>
가로: 20
세로: 30
반지름: 6
삼각형 넓이: 300.0
사각형 넓이: 600
원 넓이: 113.04