연습문제
1번 문제
다음은 python 강좌 학생들의 시험 점수를 딕셔너리로 나타낸 것입니다.
student_score = {
'홍의': 97,
'원희': 60,
'동해': 77,
'변수': 79,
'창현': 89,
}
student_score = {
'홍의': 97,
'원희': 60,
'동해': 77,
'변수': 79,
'창현': 89,
}
- 학생들의 총점을 구하는 코드를 작성하세요.
- 학생들의 평균 점수를 구하는 코드를 작성하세요.
호준: 98
점수가 추가되었습니다. 이 점수를 반영하여 학생들의 평균 점수를 구해주세요.- 문제가 하나 잘못 출제되어 모두 2점이 올랐습니다. 학생들의 모든 점수를 2점씩 올려주세요.
- 점수가 가장 높은 학생의 이름과 그 점수를 구하는 코드를 작성하세요.
- 점수가 가장 낮은 학생의 이름과 그 점수를 구하는 코드를 작성하세요.
2번 문제
학생 7명이 같이 먹을 점심 메뉴를 고르려고 합니다. 학생들의 각자 좋아하는 메뉴와 싫어하는 메뉴를 like
와 dislike
리스트에 담았습니다.
like = ['볶음밥', '라면', '국수', '파스타', '치킨', '짜장면', '국밥']
dislike = ['국밥', '짬뽕', '찜닭', '파스타', '국수', '카레', '덮밥']
like = ['볶음밥', '라면', '국수', '파스타', '치킨', '짜장면', '국밥']
dislike = ['국밥', '짬뽕', '찜닭', '파스타', '국수', '카레', '덮밥']
학생들은 점심 메뉴를 고를 때, 한 명이라도 싫어하는 메뉴라면 고르지 않기로 했습니다. 최종 후보 메뉴들의 리스트를 구하는 코드를 작성해주세요.
3번 문제
주어진 리스트 data = [{"이름": "길동", "수학": 3, "과학": 93}, {"이름": "춘향", "수학": 33, "과학": 11}, {"이름": "철수", "수학": 94, "과학": 67}]
에서 평균점수가 가장 높은 학생의 이름을 출력하세요.
4번 문제
주어진 사전 grades = {"Tom": 87, "Jerry": 95, "Mickey": 70}
의 모든 값을 5점씩 증가시키고 결과를 출력하세요.
5번 문제
주어진 문자열 s = "apple banana apple cherry banana cherry apple"
에서 가장 자주 등장하는 단어를 출력하세요.
답안
- code
- 학생들의 총점을 구하는 코드를 작성하세요.
total_score = sum(student_score.values()) print(f'학생들의 총점은 {total_score}입니다.')
total_score = sum(student_score.values()) print(f'학생들의 총점은 {total_score}입니다.')
- 학생들의 평균 점수를 구하는 코드를 작성하세요.
average_score = sum(student_score.values()) / len(student_score) print(f'학생들의 평균 점수는 {average_score}입니다.')
average_score = sum(student_score.values()) / len(student_score) print(f'학생들의 평균 점수는 {average_score}입니다.')
- 점수가 가장 높은 학생의 이름과 그 점수를 구하는 코드를 작성하세요.
max_name = max(student_score, key=student_score.get) max_score = student_score[max_name] print(f'점수가 가장 높은 학생은 {max_name}이며, 그 점수는 {max_score}점입니다.')
max_name = max(student_score, key=student_score.get) max_score = student_score[max_name] print(f'점수가 가장 높은 학생은 {max_name}이며, 그 점수는 {max_score}점입니다.')
- 점수가 가장 낮은 학생의 이름과 그 점수를 구하는 코드를 작성하세요.
min_name = min(student_score, key=student_score.get) min_score = student_score[min_name] print(f'점수가 가장 낮은 학생은 {min_name}이며, 그 점수는 {min_score}점입니다.')
min_name = min(student_score, key=student_score.get) min_score = student_score[min_name] print(f'점수가 가장 낮은 학생은 {min_name}이며, 그 점수는 {min_score}점입니다.')
- code
like = ['볶음밥', '라면', '국수', '파스타', '치킨', '짜장면', '국밥']
dislike = ['국밥', '짬뽕', '찜닭', '파스타', '국수', '카레', '덮밥']
final_menu = []
for menu in like:
if menu not in dislike:
final_menu.append(menu)
print(final_menu)
like = ['볶음밥', '라면', '국수', '파스타', '치킨', '짜장면', '국밥']
dislike = ['국밥', '짬뽕', '찜닭', '파스타', '국수', '카레', '덮밥']
final_menu = []
for menu in like:
if menu not in dislike:
final_menu.append(menu)
print(final_menu)
- code
data = [
{"이름": "길동", "수학": 3, "과학": 93},
{"이름": "춘향", "수학": 33, "과학": 11},
{"이름": "철수", "수학": 94, "과학": 67}
]
max_entry = max(data, key=lambda x: x["수학"]+x["과학"])
print(max_entry)
print(max_entry["이름"])
data = [
{"이름": "길동", "수학": 3, "과학": 93},
{"이름": "춘향", "수학": 33, "과학": 11},
{"이름": "철수", "수학": 94, "과학": 67}
]
max_entry = max(data, key=lambda x: x["수학"]+x["과학"])
print(max_entry)
print(max_entry["이름"])
- code
grades = {"Tom": 87, "Jerry": 95, "Mickey": 70}
# grades.update({'Tom': grades.get('Tom', 0) + 5})
# grades.update({'Jerry': grades.get('Jerry', 0) + 5})
# grades.update({'Mickey': grades.get('Mickey', 0) + 5})
updated_grades = {name: score + 5 for name, score in grades.items()}
print(updated_grades)
grades = {"Tom": 87, "Jerry": 95, "Mickey": 70}
# grades.update({'Tom': grades.get('Tom', 0) + 5})
# grades.update({'Jerry': grades.get('Jerry', 0) + 5})
# grades.update({'Mickey': grades.get('Mickey', 0) + 5})
updated_grades = {name: score + 5 for name, score in grades.items()}
print(updated_grades)
- code
s = "apple banana apple cherry banana cherry apple"
words = s.split()
most_frequent_word = max(set(words), key=words.count)
print(most_frequent_word)
#######
from collections import Counter
s = "apple banana apple cherry banana cherry apple"
result = Counter(s.split())
result.most_common()
result.most_common(1)
s = "apple banana apple cherry banana cherry apple"
words = s.split()
most_frequent_word = max(set(words), key=words.count)
print(most_frequent_word)
#######
from collections import Counter
s = "apple banana apple cherry banana cherry apple"
result = Counter(s.split())
result.most_common()
result.most_common(1)