320x100
이번껀 진짜 개빡쳤었다.
반복하고 반복해도 원인을 모르겠어서 그냥 코드 갈아 엎어서 처음부터 다시 시작했더니 되더라.
주된 문제는
0으로 시작할 수 없습니다. 라는 에러와
키값에 문제가 있다는 에러였다.
이번 것의 교훈은 작은 단어와 똑같애 보이는 단어라도 주의깊게 봐야하며
육안으로 봤을때 student 와 students라서 비슷해보이지만 메모리 값이 1만 달라도 그냥 다른 값이라는걸
다시한번 되새기게 되었다.
'''
#해설코드 따라했던건데 실패.
# 계속에러가 뜬다
# 그래서 그냥 일단은 버리고 새로 만들려고 한다.
students = {'S21-0001':{'이름':"최성훈",
'성구분':'M',
'전공':'디자인',
# 짜증나게 에러가 계속뜬다
# SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
# 아.... ㅅㅂ 연락처 문자처리 안되니깐 계속 에러나더라;
'연락처':'010-1234-5678',
'메일':'hun@gmail.com',
'취미':['농구, 음악']},
'S21-0002':{'이름':"탁영우",
'성구분':'M',
'전공':'바리스트',
'연락처':'010-5678-9012',
'메일':'yeong@gmail.com',
'취미':['축구']},
'S21-0003':{'이름':"황진영",
'성구분':'M',
'전공':'음악',
'연락처':'010-9012-3456',
'메일':'jin@gmail.com',
'취미':['수영, 코딩']},
}
print(students)
# 딕셔너리에서 가장 효율적으로 반복문을 사용하는 것은 for 문이라고 한다.
# 가장 겉의 key인 S21-0001 같은 거에 대한 키를 불러오는 코드다.
for k1 in students.keys():
print('-'*40)
print(k1)
# k1 보다는 하위 개념에 있어서 이름, 성구분 같은걸 불러오는 코드다
# 두번째 시도를 하고 보니 여기가 문제였는데, students에 덮어씌우는게 문제가되는 코드였나?
students = students[k1]
for k2 in students.keys():
print(f'{k2} : {students[k2]}')
'''
students = {'S21-0001':{'이름':'최성훈',
'성구분':"M",
'전공':'디자인',
'연락처':'010-1234-5678',
'메일':'hun@gmail.com',
'취미':['농구','음악']},
'S21-0002': {'이름': '탁영우',
'성구분': "M",
'전공': '바리스타',
'연락처': '010-5678-9012',
'메일': 'yeong@gmail.com',
'취미': ['축구']},
'S21-0003': {'이름': '황진영',
'성구분': "M",
'전공': '음악',
'연락처': '010-9012-3456',
'메일': 'jin@gmail.com',
'취미': ['수영', '코딩']},
}
for k1 in students.keys():
print('-'*40)
print(f'학생번호: {k1}')
# student 와 students다. 헷갈리면 안된다.
student = students[k1]
for k2 in student.keys():
print(f'{k2} : {student[k2]}')
studentNo = input('조회 대상 학생 번호 입력: ')
print(f'{studentNo} : {students[studentNo]}')
300x250
'개발일지 > Python' 카테고리의 다른 글
Day2, 챕터3 그리디 일부. 거스름돈 알고리즘 (0) | 2022.05.18 |
---|---|
Day1 Part 01의 chapter 01, 02 후기 (0) | 2022.05.16 |
[복기] 파이썬 딕셔너리 키값에 해당하는 용어가 다른 리스트에 있다면 키값에 해당하는 벨류값으로 대체해주기 (0) | 2022.05.12 |
[복기] 파이썬 split 으로 내가 지정한대로 구분해주고, 딕셔너리에 인덱스값과 함께 저장 (0) | 2022.05.12 |
[복기] 파이썬 1부터 10까지의 약수를 각 수별로 리스트에 넣고, 딕셔너리에 넣기 (0) | 2022.05.12 |