반응형
작성 코드 및 설명
# 재고 데이터 예시
inventory_data = [
['Apple', 30],
['Banana', 20],
['Orange', 50]
]
# 기준 데이터 예시
standard_data = [
['Apple', 40],
['Banana', 10],
['Orange', 70]
]
# check_inventory 함수
def check_inventory(x,y):
# 과잉,부족 리스트
over_list = []
lack_list = []
# 이중 리스트 y 반복문 실행
for a,b in y:
# 이중 리스트 x의 길이 만큼 반복문 실행
for i in range(len(x)):
# 이중 리스트 x의 i번째 항목의 0번째 항목이 a와 같다면 아래 if문 실행
if x[i][0] == a:
# b가 이중 리스트 x의 i번째 항목의 1번째 항목보다 크다면 over_list에 a를 추가해라
if b > x[i][1]:
over_list.append(a)
# b가 이중 리스트 x의 i번째 항목의 1번째 항목보다 작다면 lack_list에 a를 추가해라
else:
lack_list.append(a)
# 과잉, 부족 리스트 출력
print("재고 과잉 리스트", over_list)
print("재고 부족 리스트",lack_list)
# standard_data, inventory_data를 넣어서 check_inventory 함수 실행
check_inventory(standard_data,inventory_data)
출력 결과
작성 코드 및 설명
# email_list 리스트 생성
email_list = [
"example@example.com",
"wrongemail@.com",
"anotherexample.com",
"correct@email.co.uk"
]
# validate_emails 힘수 생성
def validate_emails(x):
# 리스트 x에서 반복문
for i in x:
# "@"가 i 안에 있다면 아래 if문 실행.
if "@" in i:
# i를 @로 나눴을 때 앞부분의 길이가 0보다 크다면 아래 if문 실행!
if len(i.split("@")[0])>0:
# i를 @로 나눴을 때 뒷부분을 변수 a에 저장!
a = i.split("@")[1]
# a를 .으로 나눴을 때 앞부분의 길이가 0보다 크다면 아래 print문 실행!
if len(a.split(".")[0])>0:
print(f"{i}은 유효한 이메일 주소입니다.")
# a를 .으로 나눴을 때 앞부분의 길이가 0보다 크다면 아래 print문 실행!
else:
print(f"{i}은 유효하지 않은 이메일 주소입니다.")
i를 @로 나눴을 때 앞부분의 길이가 0보다 작다면 아래 print문 실행!
else:
print(f"{i}은 유효하지 않은 이메일 주소입니다.")
#"@"가 i 안에 없다면 아래 print문 실행.
else:
print(f"{i}은 유효하지 않은 이메일 주소입니다.")
# email_list를 넣어 validate_emails 힘수 실행
validate_emails(email_list)
출력 결과
작성 코드 및 설명
# 예시 데이터
participant = ["mike", "sam", "tom", "lisa","james"]
completion = ["tom", "mike", "lisa"]
#완주하지 못한 사람들 리스트
not_completion = []
# find_non_completer 함수 생성
def find_non_completer(x,y):
# 리스트 x에서 반복문 실행
for i in x:
# i가 리스트 y에 없다면
if i not in y:
# not_completion에 i추가
not_completion.append(i)
# for문이 다 실행되고 나서 print문 출력!
print(f"완주하지 못한 사람들 {not_completion}")
# 데이터를 이용하여 함수 실행
find_non_completer(participant,completion)
출력 결과
작성 코드 및 설명
# customer 클래스 생성
class Customer():
# name 변수 생성
name = ""
# email 변수 생성
email = ""
# point 변수 생성
point = 0
# join_customer 함수 생성
def join_customer(self,a,b,c):
# 변수 name에 a할당
self.name = a
# 변수 email에 b할당
self.email = b
# 변수 point에 c할당
self.point = self.point + c
# print문 출력
print(f"고객명 : {self.name}, 이메일 : {self.email}, 포인트 : {self.point}")
# add_points 함수 생성
def add_points(self,d):
# point 값에 d 더하기
self.point = self.point + d
# print문 출력
print(f"고객명 : {self.name}, 이메일 : {self.email}, 포인트 : {self.point}")
# reduce_points 함수 생성
def reduce_points(self,e):
# point 값에 e 더하기
self.point = self.point - e
# point 값이 0보다 작다면 point 값은 0
if self.point < 0:
self.point = 0
# print문 출력
print(f"고객명 : {self.name}, 이메일 : {self.email}, 포인트 : {self.point}")
#확인코드
customer1 = Customer()
customer1.join_customer("Alice", "alice@example.com", 100)
customer1.add_points(50)
customer1.reduce_points(20)
customer1.reduce_points(150) # 포인트 부족 상황 테스트
출력 결과
반응형
'Today i learned & Week i learned > 파이썬 관련' 카테고리의 다른 글
판다스 기초 .duplicated()(feat.혼공데분) (0) | 2024.01.05 |
---|---|
판다스 기초 메서드 head(), drop(), dropna() (feat.혼공데분) (1) | 2024.01.05 |
[스파르타코딩클럽] 직장인을 위한 실전 데이터분석 _ 3-6 (1) | 2023.12.26 |
코랩(colab)에 활용할 파일 업로드 하는 법 (1) | 2023.12.23 |
[스파르타코딩클럽] 직장인을 위한 실전 데이터분석 _ 3-5 (1) | 2023.12.20 |