별의별 이야기

dictionary 복습 본문

3./Python

dictionary 복습

Hailey Han 2025. 1. 7. 01:59
728x90
#110302 연습문제1
dic ={'one':'korea', 'two':'brazil', 'three':'india','four':'usa'}
print(dic)
#1. five에 japan 추가
dic['five']='japan'
print(dic)
#2. two 삭제
dic.pop('two')
print(dic)
#3. index값 출력(keys)
print(dic.keys())
#4. 값들만 모두 출력(values)
print(dic.values())
#11-02-01 연습문제1
 
# 5명의 이름과 생일을 받아서 추가 후, 특정 사람 이름 입력 받아 생일 출력하기
# 5명의 이름과 생일을 받아서 추가 후, 특정 사람 이름 입력 받아 생일 출력하기
birthdate = {}
count = 0
birthdate['name', 'date'] = 'name','date'
def makebirthday(n):
    for _ in range(n):
        name = input('이름 입력:')
        date = input('생일입력: ')
        count+=1 
        #birthdate.append('name','date') #no
        birthdate[name]=date   
    
#1. dict에 넣어서 출력하기 
#print(dict) #no
makebirthday(5)
print(makebirthday)

#2. 생일 알고싶은 사람 입력받아 생일 출력하기
name = input('생일을 알고싶은 사람: ')
#if birthdayperson in birthdate.keys(): 
#    print(birthdate.get(birthdayperson))
print(birthdate(name))

#모범답안
birthday = {}
def inputDict(n):
    for _ in range(n):
        name=input('name: ')
        birth=input('birth:')
        birthday[name]=birth
inputDict(5)
print(birthday)
name=input('생일을 확인하고싶은 사람 이름:' )
print(birthday(name))
 
 
사전형 연산

 

 

dictionary methods 
#11_02_02 연습문제1
#저장된 인물의 정보가 어떤 것이 있는지 출력한다
#알고싶은정보를입력받아해당정보를출력한다
# 다음과 같은 딕셔너리를 생성한다
# info = {'이름':'홍길동', '나이': 21, '주소': '포항시 북구 장성동', '전공': '컴퓨터공학'}
dic = {'이름':'홍길동', '나이': 21, '주소': '포항시 북구 장성동', '전공': '컴퓨터공학'}
print(dic['이름'],'님에 대한 정보가 저장되어 있습니다.')
print(dic.keys())

info2 = input('알고싶은 정보를 입력하세요: ')
print(dic.get(info2))
# #11-02-01 연습문제2
# 연습문제 1에서 생성한 dictionary 사용한다
# 입력 받은 사람의 자료를 삭제한다
# 삭제 후 in을 사용하여 삭제 여부를 확인한다
birthday = {}
def inputDict(n):
    for _ in range(n):
        name=input('name: ')
        birth=input('birth:')
        birthday[name]=birth
inputDict(3)
print(birthday)
name=input('생일을 삭제하고싶은 사람 이름:' )
print(birthday.pop(name))
print(name in birthday)  #중요!! in을 사용한 삭제여부
print(birthday)
#11-03-01
#정의된 딕셔너리를 읽어서 값을 모두 다 출력하기
sp = {'one': ['uno', 1], 'two': ['dos', 2], 'three': ['tres', 3]}  
# 딕셔너리 sp 정의:
# - 키(key): 'one', 'two', 'three'
# - 값(value): 각각 리스트 형태의 값. 예: ['uno', 1]

for i in sp.keys():  
    # 딕셔너리 sp의 모든 키(key)를 하나씩 가져와 변수 i에 저장.
    # 반복문 실행 과정:
    # - 첫 번째 반복: i = 'one'
    # - 두 번째 반복: i = 'two'
    # - 세 번째 반복: i = 'three'

    print(sp[i])  
    # i를 사용해 딕셔너리 sp에서 해당 키 i에 매핑된 값을 가져옴.
    # 예: 첫 번째 반복에서는 sp['one']을 가져와 출력.
#11-03-01 연습문제2 - 암호화(1)
#문자열을 입력 받아 주어진 딕셔너리의 Key와 매치된 Value로 암호화를 하시오
# dic = {'A':'o', 'B':'p', 'C':'q', 'D':'r', 'E':'s', 'F':'t', 'G':'u’ }
dic = {'A':'o', 'B':'p', 'C':'q', 'D':'r', 'E':'s', 'F':'t', 'G':'u' }
#1. 문자열 입력
str = input('문자열을 입력하세요: ')
#2. 암호화할 빈 문자열. 변환된 결과 문자열을 저장할 변수 초기화.
sec = ""
#3. 반복문을 통해 문자열에서 각 문자를 하나씩 가져와 변수에 저장
#4. 중복 반복문을 통해 dic의 keys를 변수가 순회.
#5. 같은경우 2번의 빈 문자열에 해당 키에 매핑된 갚을 가져와 추가.
for i in str:
for j in dic.keys():
if i == j:
sec = sec + dic[j]
#6. 암호화 할 빈 문자열(이젠 채워진 상태)를 출력
print(sec)
#11_03_01 연습문제3

교사명 입력하면 교과목 출력하는 프로그램

dic = {'김경미':('수학','과학'),'최영희':('영어','수학'), '강동원':'영어', '정필수':('사회','역사'), '박희수':'국어', '이승철':('수학','과학') }
name = input('교사명 입력: ') #교사명 입력하면
subject = ''
for i in dic.keys() : #담당교과목명 출력하기(values는 다수값이다.)
if i == name:
print(dic[i])

#쉬운방법
dic = {'김경미':('수학','과학'),'최영희':('영어','수학'), '강동원':'영어', '정필수':('사회','역사'), '박희수':'국어', '이승철':('수학','과학') }
name = input('교사명 입력: ')
print(dic[name])
#11_03_02 연습문제2
# 친구 이름:전화번호로 구성된 사전 만들기
dict={} 
def phonenumber(n):
    for i in range(n):
        name = input('이름:') 
        number = input('번호: ')
        dict[name]=number
phonenumber(5)
print(dict.keys())
print(dict.values())
#11_03_02 담당교과목을 여러교사가 강의시, 모든 교사명 다 출력하기
#같이풀기
dic = {'김경미':['수학', '과학'], '최영희':['영어', '수학'], '강동원':'영어', '정필수':['사회','역사'], '박희수':'국어', '이승철':['수학','과학']}
subject=input('과목을 입력하시오: ')
th=[]
for i in dic.keys(): 
    if subject in dic[i]: #내가 dict에서 읽은 value 안에 있는지? 
        th.append(i)
print(th)

#함수로 만들기 
def find_teacher(subject):
    th=[]
    for i in dic.keys(): 
        if subject in dic[i]: #내가 dict에서 읽은 value 안에 있는지? 
            th.append(i)
    return th
subject=input('과목을 입력하시오: ')
print(find_teacher(subject))
#11_03_02 색깔 입력시, 과일명 출력
fruit = {'red':['appel', 'strawberry'], 'purple':'grape', 'yellow':['lemon','banana'], 'oragne':'orange'}
color = input('색깔 입력: ')
# for i in fruit.keys():
#     if color in fruit[i]:
#         print(fruit.get[i]) #또 너무 복잡하게 풀었음
print(fruit[color])

fruit.pop('red')
fruit['green']=['avocado']

'3. > Python' 카테고리의 다른 글

파일 입출력 예제  (0) 2025.01.07
파일 입출력  (0) 2025.01.07
module: datatime, tkinter, OS, 사용자 정의(Tuple)  (0) 2025.01.02
return statement, module random  (1) 2024.12.31
List  (0) 2024.12.31