☑️문제1) 짝수 판별하기
[문제]
- 변수 n 을 가지고 짝수인지 홀수인지 0인지 출력하는 파이썬 코드를 만드세요.
- n = 3, n= 2, n= 0 인 케이스 모두 3가지를 채점할 예정입니다.
[문제 해결]
- 조건문 사용하여 출력
- if n ==0 일때 , elif 2 로나눈 나머지가 0일때(짝수 조건) ,else (홀수 조건) 출력
- REMIND) `IF`절은 깔때기 형으로 필터링 됨. (IF 조건 만족시 수행 , IF 조건 불만족 시 ELIF 조건으로 수행, ELIF 도 불만족시 ELSE 수행 )
if n==0:
print("이 숫자는 0입니다")
elif n%2==0:
print("이 숫자는 짝수 입니다")
else:
print("이 숫자는 홀수 입니다")
☑️문제2) 제품 재고 관리
[문제]
- 주어진 제품의 재고 데이터를 확인하여, 재고의 상태를 나타내는 파이썬 코드를 만드세요.
- inventory_list = [90, 60, 80] , value=80
# 예상 출력값
'''
현재 기준 값은 80% 입니다.
1 번째 아이템 재고는 90% 로 과잉입니다.
2 번째 아이템 재고는 60% 로 부족합니다.
3 번째 아이템 재고는 80% 로 적절합니다.
'''
[문제 해결]
- 인덱스 출력 법에 따른, 방법1) `.INDEX 메소드`
- inventory_list 리스트 값 순회 하면서 value 값이랑 비교 후 조건별 출력
- 리스트의 값과 인덱스 필요 : 리스트의 `값`은 for 문 & 리스트의 인덱스는 index 메소드 활용, 인덱스는 [0] 부터 시작이므로 +1 해줌.
- 시퀀스타입.index ('값') : 시퀀스의 '값'의 인덱스 반환해주는 메소드
inventory_list=[90,60,80]
value=80
print(f'현재 기준 값은 {value}% 입니다.')
for i in inventory_list:
if i > value: #재고가 많을때
print(f'{inventory_list.index(i)+1}번째 아이템 재고는 {i}% 로 과잉입니다.')
elif i <value: #재고가 적을때
print(f'{inventory_list.index(i)+1}번째 아이템 재고는 {i}% 로 부족합니다.')
else: #재고가 같을때
print(f'{inventory_list.index(i)+1}번째 아이템 재고는 {i}% 로 적절합니다.')
- 인덱스 출력 법에 따른 방법2) `enumerate` 함수
- 리스트에 enumerate 함수 사용하여 인덱스 반환
- enumerate 함수 : 인덱스 반환 함수 (주로 인덱스가 없는 딕셔너리에서 활용됨)
방법1)
for i,inventory in enumerate(inventory_list): # 인덱스 i 에 저장, inventory에 값 저장
if inventory > value:
print(f'{i+1} 번째 아이템 재고는 {inventory}%로 과잉입니다.')
elif inventory < value:
print(f'{i+1} 번째 아이템 재고는 {inventory}%로 부족합니다.')
else:
print(f'{i+1} 번째 아이템 재고는 {inventory}%로 적절합니다.')
방법2)
# 공통으로 출력해야하는 문장 제외 message 저장 후 한번에 출력
for i,inventory in enumerate(inventory_list):
if inventory < value:
message = "% 로 부족합니다"
elif inventory > value:
message = "% 로 과잉입니다"
else:
message = "% 로 적절합니다"
print( f'{i+1}번째 아이템 재고는 {inventory} {message}')
- 인덱스 출력 법에 따른 방법3) `range(len(리스트))` 함수 사용
- range (리스트 길이) 로 for 문 돌리면서 inventory_list[i] → 값 , i → 인덱스
for i in range(len(inventory_list)): # for * range 문 (len 사용하여, 값/인덱스 모두 출력)
if inventory_list[i] == value:
print(f'{i+1}번째 아이템 재고는 {inventory_list[i]}% 로 과잉입니다.')
elif inventory_list[i] < value: #
print(f'{i+1}번째 아이템 재고는 {inventory_list[i]}% 로 부족입니다.')
else:
print(f'{i+1}번째 아이템 재고는 {inventory_list[i]}% 로 적절합니다.')
☑️문제3) 제품 재고 관리2
[문제]
- maintain_inventory 함수는 재고품목과 재고비율을 전달하여 재고 관리를 도와주는 함수입니다.
- 존재하는 재고 품목이면 재고비율을 갱신합니다. 기존 품목을 업데이트했다고 알립니다.
- 존재하지 않는 재고품목이면 새롭게 만들고 재고비율을 할당합니다. 새로운 재고가 들어왔다고 알립니다.
- 모든 재고품목과 재고비율을 출력합니다.
- inventory_dict={'Apple':90, 'Banana': 60, 'Orange': 80}
# 1. 기존 값 업데이트
maintain_inventory(inventory_dict, 'Apple', 50)
'''
기존 품목 or 새로운 품목 Apple을 업데이트합니다.
현재 Apple 재고는 50% 있습니다.
현재 Banana 재고는 60% 있습니다.
현재 Orange 재고는 80% 있습니다.
[문제 해결]
- 방법1) `.items` 메소드
- 주어진 품목이 딕셔너리에 있는지 확인 후 조건별 key,value 값 출력
- ▼ for 문에서 .items() 메서드 사용 및 호출 시,
더보기
- items : 튜플형 쌍으로 출력
- items[0] : 첫번째 컬럼, 인덱스[0]만 출력
- item[:] : 튜플형 쌍으로 출력
- keys() : key만 출력
- value() : value 만 출력
inventory_dict={'Apple':90, 'Banana': 60, 'Orange': 80}
def maintain_inventory(data_dict,item,update):
if item in data_dict: #키값만 확인 가능 # if item in inventory_dict.keys() 가능
data_dict[item]=update
print(f'기존 품목 {item}을 업데이트합니다.')
for key,value in data_dict.items():
print(f'현재 {key} 재고는 {value}%있습니다.')
else:
data_dict[item]=update
print(f'새로운 품목 {item}이 입고 되었습니다.')
for key,value in data_dict.items():
print(f'현재 {key} 재고는 {value}%있습니다.')
maintain_inventory(inventory_dict, 'Apple', 50)
print("""""")
maintain_inventory(inventory_dict, 'Melon', 40)
- 방법2) `.items` 메소드 + for 문/코드 중복 제거
- 위에 코드에서 if/else 수행문안에 중복되는 `data_dict[item]=update` `for문~` if 조건문 밖으로 빼주면서 불필요한 코드 반복 제거
def maintain_inventory(data_dict, item, update):
if item in data_dict:
print(f"기존 품목 {item}을 업데이트 합니다.")
else:
print(f"새로운 품목 {item}이 입고되었습니다.")
data_dict[item] = update
for key, value in data_dict.items():
print(f"현재 {key}의 재고는 {value}% 있습니다.")
'PYTHON' 카테고리의 다른 글
실습3 | 이상치 검사하기 ( IQR 기반/ numpy 라이브러리) (0) | 2024.12.16 |
---|---|
실습2 | 이메일 유효성 검사(split,endswith,find) / 포인트 적립및 차감하기(CLASS) 문제풀이 (0) | 2024.12.16 |
코테 준비 | 프로그래머스 x만큼 간격이 있는 n개의 숫자 / 없는 숫자 더하기 (0) | 2024.12.16 |
코테 준비 | 프로그래머스 조건문 & 반복문 문제 풀이 (0) | 2024.12.11 |
파이썬 | 함수(def)와 변수, 인수, 매개변수 (1) | 2024.12.11 |