#%% dict task
# 등급을 입력받아서 학점을 출력해주는 프로그램
# 2 입력시 B학점입니다. 출력
# 1~5등급, A~f학점(E학점)
# 0 1 2 3 4
# A B C D E
scoreDict = {}
for i in range(5) :
scoreDict[i+1] = chr(i + 66) if i == 4 else chr(i + 65)
#print(scoreDict)
rating = int(input("등급 : "))
for i in range(5) :
if rating == i+1:
print(scoreDict[rating] + "학점 입니다.")
break
mutable(변할 수 있는):list
dataList1 = [1,2,3]
dataList2 = dataList1
dataList2. append(4)
print(dataList1)
실행 결과 : [1, 2, 3, 4]
immutable(변할 수 없는):tuple()
#소괄호를 생략해도 튜플, 단 (,)콤마는 있어야 함
# dataTuble1 = (1,2,3)
dataTuple1 = 1,2,3
# print(type(dataTuble1))
dataTuple2 = dataTuple1
dataTuple2 += 4,5
print(dataTuple1)
#dataTuple1[0] = 10 : 튜플의 값은 수정할 수 없다.
print(dataTuple1[0])
실행 결과 :
(1, 2, 3)
1
dict
한 쌍으로 저장되어 관리한다.
len()를 사용하면 한 쌍을 1로 카운트한다.
키 값은 중복이 될 수 없으며, 값은 중복이 가능하다.
키 값을 주면 그 키의 짝궁 값을 가지고 온다.
dict 선언
dic명 = {키 : 값, 키 : 값, ...}
dict 사용
- 추가(키 값이 없을 때)
dict명[키] = 값
- 수정(키 값이 있을 때)
dict명[키] = 값
- 삭제(한 쌍이 삭제 된다)
del dict명[키]
- 검색
키 in dict명 : 키 값이 있으면 참
키 not in dict명 : 키 값이 없으면 참
Key 분리
list(dict명.keys())
value 분리
dict명.values()
# dict 의 목적은 value 값을 가져오기 위함이다.
# id, pw 가져올 때 자주 쓰임
#%% dict test
중국집 = {"자장면" : 1500, "짬뽕" : 2500}
print(len(중국집))
print(중국집["자장면"])
if "자장면" in 중국집 :
중국집["자장면"] = 4000
print(중국집)
if "탕수육" not in 중국집 :
중국집["탕수육"] = 9000
print(중국집)
for i in 중국집.keys():
print(i)
for i in range(len(중국집)):
print(str(i+1) + " " + list(중국집.keys())[i])
total = 0
for i in 중국집.values():
total += i
avg = total/len(중국집)
print("평균 가격 : %.2f원" %avg)
실행 결과 :
2
1500
{'자장면': 4000, '짬뽕': 2500}
{'자장면': 4000, '짬뽕': 2500, '탕수육': 9000}
자장면
짬뽕
탕수육
1 자장면
2 짬뽕
3 탕수육
평균 가격 : 5166.67원
# 등급을 입력받아서 학점을 출력해주는 프로그램
# 2 입력시 B학점입니다. 출력
# 1~5등급, A~f학점(E학점)
# 0 1 2 3 4
# A B C D E
scoreDict = {}
for i in range(5) :
scoreDict[i+1] = chr(i + 66) if i == 4 else chr(i + 65)
rating = int(input("등급 : "))
for i in range(5) :
if rating == i+1:
print(scoreDict[rating] + "학점 입니다.")
break
실행 결과 :
등급 : 1
A학점 입니다.