728x90
반응형
Dict를 활용한 응용예시
# #2 영화 예매 프로그램 (dict)활용
# #영화 종류를 나타내는 정수 1~3과 나이 입력, 영화와 가격은 다음과 같이 설정. 총 계산 출력
# #1: 액션영화 10,000원
# #2: 로맨틱 코미디 8,000원
# #3: 공포영화 9,000원
# #팝콘종류
# #1: 치즈팝콘 6,500원
# #2: 캬라멜 팝콘 5,000원
# #3: 일반 팝콘 5,000원
#[class]
cgv={
'movie':{
'movieList': ['1.액션영화','2.로맨틱코미디','3.공포영화'],
'moviePrice':[10000,8000,9000]
},
'popcorn':{
'popcornList': ['1.치즈팝콘','2.캬라멜팝콘','3.일반팝콘'],
'popcornPrice':[6000,5000,5000]
}
}
movie_choice=int(input(f"영화를 고르세요 [{cgv['movie']['movieList']}: "))-1
popcorn_choice=int(input(f"팝콘을 고르세요 [{cgv['popcorn']['popcornList']}: "))-1
print(f"고르신 영화는 {cgv['movie']['movieList'][movie_choice]}, 선택한 팝콘은 {cgv['popcorn']['popcornList'][popcorn_choice]}이며, "
f"총 금액은 {cgv['movie']['moviePrice'][movie_choice]+cgv['popcorn']['popcornPrice'][popcorn_choice]}원 입니다")
Dict의 주요 기능
1. get (key, default=None)
- 특정 키에 해당하는 값을 반환
- 키가 사전에 없는 경우, default 값이 반환됨 (기본값은 None)
2. Keys()
- 사전의 모든 키를 포함하는 뷰를 반환
3. values()
- 사전의 모든 값을 포함하는 뷰를 반환
4. items()
- 사전의 모든 키-값 쌍을 튜플로 포함하는 뷰를 반환
megastudy = {
'python': [1,2,3],
'java':[1,3,5],
'c':[2,4,6]
}
#python의 날짜를 가져오는 방법
#1. megastudy['python'] <-연산자
#2. megastudy.get('python') <-기능
#3. megastudy.get('javascript','수업 없음') <- 없으면 '수업 없음' 으로 대체
print(megastudy.keys()) #dict_keys(['python', 'java', 'c'])
print(list(megastudy.keys())) #['python', 'java', 'c']
print(list(megastudy.values())) #[[1, 2, 3], [1, 3, 5], [2, 4, 6]]
print(list(megastudy.items())) #[('python', [1, 2, 3]), ('java', [1, 3, 5]), ('c', [2, 4, 6])]
세트 (Set) : 중복을 허용하지 않는 순서가 없는 요소들의 컬렉션,
세트는 수학에서의 집합과 유사하며, 주로 데이터의 중복을 제거하거나 여러 세트 간의 관계 (교집합, 합집합 등)을 다룰 때 유용함
세트의 기본
- 세트 생성: setA = {1,2,3,'hello'}
- 빈세트 생성: emptysetA = set() *{}는 빈 딕셔너리를 만듬
- 리스트나 튜플 등에서 세트 생성: setA = set([1,2,3,3]) #결과: {1,2,3}
(set 예시)
#set (집합) 중복 안됨
a = {1,2,3,1,2,3,1,2,3}
print(a) #{1,2,3}
b = set([1,2,3,1,2,3,4]) #set화 시키기
print(b) #{1,2,3,4}
세트의 주요 메소드
1. 추가와 업데이트
- add: 세트에 요소 추가
- update: 다른 세트의 요소를 현재 세트에 추가
2. 제거
- discard: 지정된 값을 가진 요소 제거
- clear: 세트의 모든 요소를 제거
b = set([1,2,3,1,2,3,4])
b.add(1)
b.add(5)
b.discard(3)
print(b) #{1, 2, 4, 5}
b.clear()
print(b) #set()
a = {5,6,7}
3. 세트의 기능
- union (합집합)
예) my_set.union({7,8})
- intersection (교집합)
예) my_set.intersection({1,2,9})
- difference (차집합)
예) my_set.difference({1,2})
- symmetric_difference (대칭 차집합) (교집합을 뺀 애들)
예) my_set.symmetric_difference({1,2,7})
(if 예시)
num=int(input("정수 입력:"))
if num > 0 :
print('양의 정수 입니다.')
elif num == 0:
print('0입니다')
else:
print('0 또는 음의 정수 입니다.')
(다중 elif 예시 1)
#유저에게 영어점수 입력 받고,
#100~90 A 입니다
#90~80 B 입니다
#80~70 C 입니다
#70 미만이면 재수강입니다
grade=int(input("영어점수는: "))
if grade > 90 :
print ('A 입니다')
elif grade > 80 :
print ('B 입니다')
elif grade > 70:
print ('C 입니다')
else:
print (' 재수강 입니다')
(파이썬 다중 if 예시 2)
#유저에게 비밀번호 설정 입력받고,
# 8글자보다 작으면 비밀번호가 8글자 이하입니다!
#만약에 비밀번호에 !없으면 특수문자가 없습니다.
# 다 통과 되면 비밀번호 완료!
pw=input("비밀번호 입력:")
print(pw.find("!"))
if len(pw) < 8:
print ("비밀번호가 8글자 이하입니다!")
elif "!" not in pw:
print ("특수문자가 없습니다")
else: print ('비밀번호 통과!')
(파이썬 다중 if 예시 3)
#유저에게 정수를 입력받고
#양의 홀수인지, 양의 짝수, 0, 음의 홀수, 음의 짝수 인지 알려주는 프로그램 만들기
if num > 0:
if num % 2 != 0:
print("양의 홀수")
else:
print("양의 짝수")
elif num == 0:
print("0 입니다.")
else:
if num % 2 != 0:
print("음의 홀수")
else:
print("음의 짝수")
반응형
'데이터분석 > Python 파이썬 1달만에 마스터하기' 카테고리의 다른 글
Day8 for x in range 함수 응용, 리스트, 텍스트, enumerate [파이썬 1달만에 마스터하기] (0) | 2024.01.12 |
---|---|
Day7 Random, randint, choice, shuffle, 반복문 for x in range [파이썬 1달만에 마스터하기] (1) | 2024.01.11 |
Day5 리스트 딕셔너리 연산 활용 [파이썬 1달만에 마스터하기] (2) | 2024.01.09 |
Day4 String Advance Len() Upper() Lower() Strip() Capitalize() Find Replace Count [파이썬 1달만에 마스터하기] (1) | 2024.01.08 |
Day3 파이썬의 데이터 유형, 연산자 유형 [파이썬] (1) | 2024.01.05 |