웹 개발 메모장
[파이썬] 년도별 신생아 수 구하기 (파일입출력 예제) 본문
년도별 신생아 수 구하기
라는 사이트에서 년도별 신상아 정보를 다운받을 수 있습니다.
다운받으면 names 라는 폴더에 yob0000.txt 라는 파일들이 들어있는 것을 확인할 수 있습니다.
위와 같이 파이썬 프로젝트 내에 해당 폴더를 넣어놨습니다.
각 .txt 파일의 구조는 아래과 같습니다.
이제 문제입니다.
문제 1. 위 파일들을 바탕으로 년도별 신생아 수 를 구하시오.
해설)
현재 폴더에는 1880년 ~ 2016년 까지의 파일이 저장되어 있습니다.
반복문을 통해 해당 파일들에 접근한 뒤 해당 파일들의 line 수를 체크하면 정답이됩니다.
답)
1 2 3 4 5 | for year in range(1880, 2017) : fileName = "names/yob{0}.txt".format(year) yobFile = open(fileName, 'r') print("{0}년도 신생아 : {1}명".format(year, len(list(yobFile.readlines())))) yobFile.close() | cs |
결과)
문제 2. 년도별 신생아 수를 남아, 여아 구분하여 구하시오.
해설)
문제 1과 마찬가지로 접근하되, 문자열의 ',' 로 구분된 두번째 요소 'F' 또는 'M' 을 활용하면 됩니다.
답)
1 2 3 4 5 6 7 8 9 10 11 | for year in range(1880, 2017) : fileName = "names/yob{0}.txt".format(year) yobFile = open(fileName, 'r') babys = yobFile.readlines() boys = [baby for baby in babys if baby.split(',')[1]=='M'] girls = [baby for baby in babys if baby.split(',')[1]=='F'] print("{0}년도 신생아 : 남아 {1}명, 여아 {2}명".format(year, len(boys), len(girls))) yobFile.close() | cs |
결과)
'옛날.. > 파이썬' 카테고리의 다른 글
[파이썬] 3항 연산자 (0) | 2018.05.21 |
---|---|
[파이썬] .txt 파일의 총 줄 수 구하기 (파일입출력 예제) (0) | 2017.12.11 |
[파이썬] 삼각형 그리기 예제들 (0) | 2017.12.11 |
[파이썬] for 문 기본 구조 (0) | 2017.11.29 |
[파이썬] 조건문, 참과 거짓 (0) | 2017.11.29 |
Comments