# dict Task
# 등급을 입력 받아서 학점을 출력해주는 프로그램
# 2입력시 B학점입니다 출력
# 1~5등급, A~F학점 (E학점)
scoreDict={}
# 0 1 2 3 4
# A B C D F (i가 4일때는 e를 건너뛰고 f로 가야하기 때문에 조건 필요)
for i in range(5):
scoreDict[i+1] = chr(i+66) if i == 4 else chr(i+65)
print(scoreDict)
{1: 'A', 2: 'B', 3: 'C', 4: 'D', 5: 'F'}
# E를 건너뛰고 F가 나오도록 설정
scoreDict={}
# 0 1 2 3 4
# A B C D F (i가 4일때는 e를 건너뛰고 f로 가야하기 때문에 조건 필요)
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
if rating == 5: #5등급일 때 조건
print("넌 소중해")
등급: 3
C학점 입니다.
등급: 5
F학점 입니다.
넌 소중해
학생 관리 프로그램
# dict Test
numDict = {"even" : [2,4,6], "odd" : [1,3,5]}
for i in numDict["even"]: #numDict["even"] 통째로 리스트 타입이다
print(i)
2
4
6
numListDict = {"1학년":[[30,40,50],[80,90,100]]}
for i in numListDict["1학년"]:
for j in i:
print(j)
print("==============")
30
40
50
==============
80
90
100
==============
for j in i: 에서
i[0] = [30,40,50]
i[1] = [80,90,100]
이 값들을 다시 j에 0,1,2 순으로 담아준다
#%%
# 학생 관리 프로그램
# 학생이름과 학생점수를 입력 받고 <추가 수정 삭제 목록> 구현
title ="학생 성적 관리 프로그램\n"
msg="1.추가\n2.수정\n3.삭제\n4.목록\n5.나가기\n"
errMsg="다시 시도해주세요"
studentDict={}
subjectList=["국어","영어","수학"] #리스트에 담아 규칙성이 생겼다 0,1,2
#무한반복을 통해 사용자가 나가기를 눌렀을 때까지 반복
while True:
choice=int(input(title+msg))
#추가
if choice == 1:
name=input("학생 이름: ")
if name not in studentDict: #중복이 없어야 한다 중복이 없다면 새로 추가
studentDict[name] = input("다음과 같이 각 점수를 입력하세요\n 예)국어,영어,수학").split(",")
#split 으로 구분점을 주어 한번에 세과목 점수 입력 받기
#1,2,3 입력하면 이 ,콤마를 기준점으로 3칸짜리 리스트가 만들어진다
else:
print("이미 등록된 학생입니다")
print(studentDict)
#수정
elif choice ==2:
choice = int(input("1.학생명\n2.점수\n"))
name = input("수정할 학생명: ")
if name in studentDict: #name에 값이 있다면 수정할 수 있다는 뜻
if choice == 1:
new = input("새로운 학생명: ")
#기존학생을 삭제하기 전, 점수를 임시로 담아놓는다 날아가지 않도록
scoreList=studentDict[name]
#기존학생 삭제 후 새롭게 추가 될 학생 추가, 점수는 유지
del studentDict[name]
studentDict[new]=scoreList
else:
print("존재하지 않는 학생 입니다.")
elif choice ==2:
choice=int(input("1.국어 점수\n2.영어점수\n3.수학점수\n"))
#[학생이름] [사용자가입력한 값-1 ( : 인덱스번호)]
studentDict[name][choice-1] = int(input("새로운 점수: "))
#삭제
elif choice ==3:
name = input("삭제할 학생명: ")
if name in studentDict:
del studentDict[name]
else:
print("존재하지 않는 학생 입니다.")
#목록
elif choice ==4:
for i in studentDict.keys():
print("[" +i+ "]")
cnt = 0
for j in studentDict[i]: #각각의 키값이 들어가서 밸류값이 전달 된다
print(subjectList[cnt] + " : " + str(j) + "점")
cnt += 1
#나가기
elif choice ==5:
break
else:
print(errMsg)
728x90
'Dev. > Algorithm Prac' 카테고리의 다른 글
프로그래머스 [JavaScript] Lv.1 :: 평균 구하기 (1) | 2022.11.22 |
---|---|
Python :: 함수 예제 (0) | 2022.07.19 |
파이썬 while문 연습예제 (0) | 2022.07.05 |
python :: For문과 While문 기초예제 (0) | 2022.07.01 |
CodeUp [Python] 1451 : 데이터 정렬 (small) (0) | 2022.07.01 |
댓글