티스토리 뷰
[문제 1]
다음 height 변수에 별(star)의 층수를 입력하면 각 층마다 별의 개수가 한 개씩 증가하여 출력되고, 마지막 줄에 별의 개수를 출력하시오.
<출력 결과 예시> height: 3 ← 키보드 입력 * ** *** start 개수: 6 |
# 함수 정의
def StarCount(height):
# 층수, 별수 변수 선언
h_cnt = s_cnt = 0
while h_cnt < height:
h_cnt += 1 # 층수 카운터(1,2,3)
print('*'*h_cnt) # 별 출력
s_cnt += h_cnt # 별수 카운터
return s_cnt
[문제 2]
중첩함수를 적용하여 다음 <조건>에 맞게 은행계좌 함수를 완성하시오.
# 함수 정의
def bank_account(bal):
balance = bal # 잔액 초기화(1000)
def getBalance(): # 잔액확인(getter)
return balance
def deposit(money): # 입금하기(setter)
nonlocal balance
balance += money
def withdraw(money): # 출금하기(setter)
nonlocal balance
if balance < money:
print('잔액이 부족합니다.')
else:
balance -= money
return getBalance, deposit, withdraw # 클로저 함수 리턴
[문제 3]
패토리얼(Factorial)을 계산하는 재귀함수를 완성하시오.
# 재귀 함수 정의
def Factorial(n):
if n == 1: 종료 조건
return 1
else:
# 재귀호출
result = n * Factorial(n-1)
# 5(first) -> 4(5-1) -> 3(4-1) -> 2(3-1) | [1(2-1)]
'''
1. stack(5, 4, 3, 2)
2. 곱셈: 1 * [2 * 3 * 4 * 5]
'''
print(n, end = ' ') # 2 3 4 5
return result # 120
'Python > 실전 예제로 배우는 파이썬 프로그래밍' 카테고리의 다른 글
객체지향 기법 (0) | 2023.03.12 |
---|---|
클래스(Class) (0) | 2023.03.11 |
재귀함수(Recursive function) (0) | 2023.03.09 |
중첩함수 (0) | 2023.03.08 |
특수함수 (0) | 2023.03.07 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 프로그래밍
- Python
- 태블로
- SQLD
- LV1
- 데이터 시각화
- 알고리즘
- 인공지능
- Kaggle
- 데이터사이언스
- 프로그래머스
- EDA
- Lv3
- 부스트코스
- mysql
- ML
- sql 테스트
- 파이썬
- 캐글
- ai
- 쿼리 테스트
- 머신러닝
- 데이터분석
- LV2
- API
- SQL
- 딥러닝
- 데이터 분석
- nlp
- lv4
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함