4.1 튜플 (year, month, day)로 표현되는 날짜 (date)을 표준 입력장치로 부터 10개 입력하여 날짜 튜플 리스트 (list of date-tuples)에 포함시킨 후, 이 날짜들을 오름차순으로 정렬하는 파이썬 프로그램을 작성하라. 입력 날짜는 무작위로 설정할 것.
# 22211975_homework4
"""
Project: 22211975_homework4.1
Author:
Date of last update: 22.09.22
Update list:
-v1.0: 22.09.22
- added source code
"""
L_dates = [] # 튜플 저장용 list
for i in range(10):
# tuple 데이터 자체를 list 에 append 함
data = tuple(map(int, input("Input 10 dates in (year month day) format: ").split()))
L_dates.append(data) # data에 저장된 튜플 데이터를 L_dates에 추가
print(“L_dates = ”, L_dates)
print("After input of 10 dates:", L_dates)
L_dates.sort() # 오름차순 정렬
print("After sorting:", L_dates)
4.2 튜플 (학생이름, 학번, 학과명, 평균성적)로 표현되는 학생 (Student)의 정보를 10개 준비하여 학생 튜플 리스트
(list of student-tuples)를 생성하라. 이 학생 튜플을 오름차순으로 정렬 (별도의 정렬 기준 설정 없이)하고, 결과를 출력하라. 다음으로 학생튜플을 학점을 기준으로 역순으로 정렬하여 출력하라.
# 22211975_homework4
"""
Project: 22211975_homework4.2
Author:
Date of last update: 22.09.22
Update list:
-v1.0: 22.09.22
- added source code
-v1.1: 22.09.22
- 데이터를 보기좋게 출력되도록 함
"""
# 튜플 (학생이름, 학번, 학과명, 평균성적)로 표현되는 학생 (Student)의 튜플 리스트 10개
std_list = [('민준', '2221111', 'CE', '4.10'),
('서준', '2221112', 'EE', '3.78'),
('도윤', '2221113', 'ICE', '4.13'),
('예준', '2221114', 'ME', '3.55'),
('시우', '2221115', 'ICE', '4.45'),
('서연', '2221116', 'CE', '4.17'),
('서윤', '2221117', 'EE', '3.78'),
('지우', '2221118', 'ICE', '4.13'),
('서현', '2221119', 'CE', '3.35'),
('하은', '2221120', 'CE', '4.45')]
# 학생 목록 출력
for i in range(10):
print(f"student[", i, "]", ":", std_list[i])
# 학생 튜플을 오름차순으로 정렬하여 출력(별도의 정렬 기준 설정 없음)
std_list.sort()
print("After sorting in increasing order: ")
for i in range(10):
print(f"student[", i, "]", ":", std_list[i])
# 학생튜플을 학점을 기준으로 역순으로 정렬하여 출력
# key=lambda x: x[3] > 튜플 데이터에서 네번쨰 index에 있는 값 기준(학점)으로 정렬함.; reverst = True 있어서 역순으로 정렬됨
sort_std_list = sorted(std_list, key=lambda x: x[3], reverse=True)
print("After sorting according to GPA in decreasing order: ")
for i in range(10):
print(f'student[', i, ']', ':', sort_std_list[i])
4.3 총 10개의 국가에 대하여 문자열 (str) 자료형의 국가 이름과 수도 이름을 입력받고, 국가의 이름을 딕셔너리의
key로 사용하고, 그 국가의 수도의 이름 (문자열 자료형)을 value로 사용하는 딕셔너리 (dict_country_capital)를
구성하라. 입력장치로 부터 국가 이름을 입력받아 해당 국가의 수도 이름을 찾아내는 파이썬 프로그램을 작성하라.
# 22211975_homework4
"""
Project: 22211975_homework4.3
Author:
Date of last update: 22.09.22
Update list:
-v1.0: 22.09.22
- added source code
"""
# data 저장용 dictionary
dict = {}
# 총 10개의 국가에 대하여 문자열 (str) 자료형으로 입력받는 반복문
for i in range(10):
country, city = map(str, input("Input nation and its capital (. to quit) : ").split())
dict[country] = city # country 값을 key에, city 값을 value 에 저장함
print("dict_nation_capital : ", dict)
# 입력장치로 부터 국가 이름을 입력받아 해당 국가의 수도 이름을 찾아내는 반복문
while True:
search = input("Input nation to find its capital : ")
if search == '.': # '.' 가 입력되었다면 반복문 종료
break
else:
print(f"The capital of {search} is {dict.get(search)}") # key 값을 입력받아 해당 key 값에 부합하는 value 값 print
'과제' 카테고리의 다른 글
컴사파 - 6주차 (1) | 2022.10.04 |
---|---|
컴사파 - 5주차 (0) | 2022.09.28 |
컴사파 - 3주차 (1) | 2022.09.17 |
컴사파 - 2주차 (1) | 2022.09.17 |
컴사파 - 1주차 (0) | 2022.09.16 |