연습문제
1번 문제
주어진 코드는 고등어의 재고를 표시하는 간단한 예제입니다. 고등어 가게에서 고등어가 1마리씩 팔리고 있는 상황을 파이썬 프로그램으로 작성하려고 합니다. 재고가 1개 남았을 때 반복문은 멈추어야 합니다. 아래의 코드를 완성하여, 5마리의 고등어부터 1마리의 고등어까지 재고를 표시하세요.
for i in range(5, 0, -1):
pass
for i in range(5, 0, -1):
pass
2번 문제
아래 서비스에서 모의 회원 데이터를 가져와 평균나이와 남녀 성비를 계산하는 코드를 작성해주세요. 2개의 서비스 중 택 1하시면 됩니다.
[
"{{repeat(5, 7)}}",
{
"_id": "{{objectId()}}",
"age": "{{integer(20, 40)}}",
"eyeColor": "{{random(\"blue\", \"brown\", \"green\")}}",
"name": "{{firstName()}} {{surname()}}",
"gender": "{{gender()}}"
}
]
[
"{{repeat(5, 7)}}",
{
"_id": "{{objectId()}}",
"age": "{{integer(20, 40)}}",
"eyeColor": "{{random(\"blue\", \"brown\", \"green\")}}",
"name": "{{firstName()}} {{surname()}}",
"gender": "{{gender()}}"
}
]
-
한국어 데이터
JSON Generator
[
'<iter(5)>',
{
_id: '<uuid()>',
index: '<index()>',
name: '<name()>',
email: '<email()>',
phone: '<phone()>',
country: '<country()>',
address: '<address()>',
job: '<job()>',
},
];
[
'<iter(5)>',
{
_id: '<uuid()>',
index: '<index()>',
name: '<name()>',
email: '<email()>',
phone: '<phone()>',
country: '<country()>',
address: '<address()>',
job: '<job()>',
},
];
여기에서 '모의 회원 데이터'를 가져와서 나이의 평균과 성별의 구성비를 구하는 문제를 풀어보도록 하겠습니다. 생성된 데이터는 아래와 같습니다. 다른 데이터여도 괜찮습니다.
[
{
"_id": "6019fd4354979ca26b8f91dc",
"age": 26,
"eyeColor": "green",
"name": "Bender Allen",
"gender": "male"
},
{
"_id": "6019fd43db2951868889a0b4",
"age": 27,
"eyeColor": "blue",
"name": "Jacobs Golden",
"gender": "male"
},
{
"_id": "6019fd438c0bf8e775c28536",
"age": 27,
"eyeColor": "brown",
"name": "Grimes Oneal",
"gender": "male"
},
{
"_id": "6019fd43b68a7fd8b081ab26",
"age": 40,
"eyeColor": "blue",
"name": "Melissa Joyce",
"gender": "female"
},
{
"_id": "6019fd436c1edc4757aabb9d",
"age": 32,
"eyeColor": "blue",
"name": "Malone Bush",
"gender": "male"
},
{
"_id": "6019fd438eaf753918f55226",
"age": 34,
"eyeColor": "green",
"name": "Davenport Hyde",
"gender": "male"
},
{
"_id": "6019fd43c35929ff95004109",
"age": 20,
"eyeColor": "blue",
"name": "Shauna Blevins",
"gender": "female"
}
]
[
{
"_id": "6019fd4354979ca26b8f91dc",
"age": 26,
"eyeColor": "green",
"name": "Bender Allen",
"gender": "male"
},
{
"_id": "6019fd43db2951868889a0b4",
"age": 27,
"eyeColor": "blue",
"name": "Jacobs Golden",
"gender": "male"
},
{
"_id": "6019fd438c0bf8e775c28536",
"age": 27,
"eyeColor": "brown",
"name": "Grimes Oneal",
"gender": "male"
},
{
"_id": "6019fd43b68a7fd8b081ab26",
"age": 40,
"eyeColor": "blue",
"name": "Melissa Joyce",
"gender": "female"
},
{
"_id": "6019fd436c1edc4757aabb9d",
"age": 32,
"eyeColor": "blue",
"name": "Malone Bush",
"gender": "male"
},
{
"_id": "6019fd438eaf753918f55226",
"age": 34,
"eyeColor": "green",
"name": "Davenport Hyde",
"gender": "male"
},
{
"_id": "6019fd43c35929ff95004109",
"age": 20,
"eyeColor": "blue",
"name": "Shauna Blevins",
"gender": "female"
}
]
답안
for i in range(5, 0, -1):
print('고등어 ', i, ' 개 남았습니다.')
if i == 1:
break
else:
print('고등어 다 팔렸습니다.')
for i in range(5, 0, -1):
print('고등어 ', i, ' 개 남았습니다.')
if i == 1:
break
else:
print('고등어 다 팔렸습니다.')
import json
with open('data.json') as f:
data = json.load(f)
total_age = 0
for member in data:
total_age += member['age']
average_age = total_age / len(data)
print(f'회원들의 age 평균: {average_age}')
import json
with open('data.json') as f:
data = json.load(f)
total_age = 0
for member in data:
total_age += member['age']
average_age = total_age / len(data)
print(f'회원들의 age 평균: {average_age}')
num_male = 0
num_female = 0
for member in data:
if member['gender'] == 'male':
num_male += 1
else:
num_female += 1
gender_ratio = {
'male': num_male / len(data),
'female': num_female / len(data)
}
print('회원들의 남녀 성비:')
for gender, ratio in gender_ratio.items():
print(f'{gender}: {ratio}')
num_male = 0
num_female = 0
for member in data:
if member['gender'] == 'male':
num_male += 1
else:
num_female += 1
gender_ratio = {
'male': num_male / len(data),
'female': num_female / len(data)
}
print('회원들의 남녀 성비:')
for gender, ratio in gender_ratio.items():
print(f'{gender}: {ratio}')
-
추가 시각화 코드
import matplotlib.pyplot as plt labels = ['Male', 'Female'] sizes = [male_count, female_count] colors = ['blue', 'pink'] plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%') plt.axis('equal') plt.show()
import matplotlib.pyplot as plt labels = ['Male', 'Female'] sizes = [male_count, female_count] colors = ['blue', 'pink'] plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%') plt.axis('equal') plt.show()