とおき
토오끼
とおき
전체 방문자
오늘
어제
  • 분류 전체보기 (40)
    • 과제 (16)
    • 백준 (14)
    • C 언어 (5)
    • 잡동사니 (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 반복문
  • 입출력
  • 알고리즘
  • 8958
  • 유클리드 호재법
  • FOR문
  • 파이썬 오류
  • 파이썬
  • 11720
  • 백준
  • BOJ
  • set함수
  • 주피터 오류
  • 문자열
  • 알파벳 찾기
  • 2523
  • 숫자의 합
  • 중복값
  • 최댓값
  • 별표 출력
  • 목록

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
とおき

토오끼

과제

컴사파 - 4주차

2022. 9. 22. 10:54

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
    '과제' 카테고리의 다른 글
    • 컴사파 - 6주차
    • 컴사파 - 5주차
    • 컴사파 - 3주차
    • 컴사파 - 2주차
    とおき
    とおき

    티스토리툴바