Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 빅데이터
- 불순도제거
- Intersect
- loop 문
- sql
- 단순회귀 분석
- Sum
- 막대그래프
- 회귀분석
- sqld
- count
- 그래프 생성 문법
- %in%
- 회귀분석 알고리즘
- 데이터분석
- 그래프시각화
- 여러 데이터 검색
- 상관관계
- 데이터분석가
- merge
- Dense_Rank
- difftime
- 정보획득량
- 총과 카드만들기
- if문 작성법
- 순위출력
- 팀스파르타
- 빅데이터분석
- 히스토그램 그리기
- max
Archives
- Today
- Total
ch0nny_log
phython cbt 예상문제. 본문
복습문제1. 주어진 문자열에서 알파벳 a 가 몇번 출현하는지 건수를 출력하세요.
sentence = "Learning Python can be quite advantageous and rewarding."
복습문제2. 주어진 리스트에서 영희를 제거하고 리스트를 출력하세요.
students = ['철수', '영희', '민수', '지영', '수진', '영희', '지훈']
복습문제3. 아래의 choice 리스트에서 성공의 첫번째 요소를 열정에서 노력으로 변경하세요
choice = { '성공': ['열정', '끈기', '도전'], '실패': ['포기', '변명', '남탓'] }
복습문제4. 아래의 문자열을 공백으로 분리해서 리스트로 구성하시오 !
sentence = "Python 프로그래밍은 재미있고 유용합니다. 다양한 라이브러리와 도구를 사용할 수 있습니다."
복습문제5. 아래의 문자열을 공백으로 분리해서 리스트로 구성하는데 소문자로 구성되게하시오!
sentence2= "The Quick Brown Fox Jumps Over The Lazy Dog"
결과: ['the', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']
복습문제6. 아래의 리스트에서 철자가 5개 이상인것만 별도의 리스트에 담아서 출력하시오
['the', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']
복습문제 7. 아래의 리스트의 요소들을 전부 대문자로 변경해서 리스트에 담아 출력하시오.
['the', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']
복습문제8.아래의 리스트를 받아서 정렬해서 출력하는 sort_list 함수를 생성하세요
data = [5, 3, 8, 1, 4, 7, 2, 6]
복습문제 9. 아래의 가수리스트와 노래 리스트를 딕셔너리로 구성하시오.
artists =['아이유', '마이클 잭슨', '비틀즈', '뉴진스']
music=['좋은날', 'beat it', 'imagine', 'how sweet']
결과: { '아이유' : '좋은날', '마이클 잭슨' : 'beat it', '비틀즈' : 'imagine', '뉴진스' : 'how sweet' } 답:
복습문제10. 복습문제8 답을 comprehension 코드로 작성하시오
# 아티스트와 곡 리스트 artist = ['아이유', '마이클잭슨', '비틀즈', '뉴진스'] music = ['좋은날', 'beat it', 'imagine', 'how sweet'] # zip 함수를 사용해 아티스트와 곡을 매칭하는 딕셔너리 생성 c = {a: m for a, m in zip(artist, music)} print(c)
복습문제 11. 다음의 리스트를 가지고 아래의 결과가 출력되게하시
# 리스트 정의
aritist = ['아이유', '마이클 잭슨', '비틀즈', '뉴진스']
music = ['좋은날', 'beat it', 'imagine', 'how sweet']
# 가수와 노래 리스트 확장
aritist = aritist * 2
music = ['좋은날', '잔소리', 'beat it', 'Billie Jean', 'imagine', 'Hey Jude', 'how sweet', 'Ditto']
결과:
{ '아이유': ['좋은날', '잔소리'], '마이클 잭슨': ['beat it', 'Billie Jean'], '비틀즈': ['imagine', 'Hey Jude'], '뉴진스': ['how sweet', 'Ditto'] }
artists = ['아이유','아이유','마이클 잭슨', '마이클 잭슨', '비틀즈', '비틀즈','뉴진스','뉴진스'] music = ['좋은날','잔소리', 'beat it','Billie Jean', 'imagine', 'Hey Jude' 'how sweet', 'Ditto'] from collections import defaultdict # 딕셔너리에 값을 추가하려면 키가 있어야 추가할 수 있는데 키가 존재하지 않는 딕셔너리에 접근할 때 defaultdict 를 사용하면 됨. a = defaultdict(list) for m,k in zip(artists, music): a[m].append(k) dict(a) # default dictionary 를 일반 딕셔너리로 변환
문제. 아래의 두개의 리스트를 가지고 아래의 딕셔너리를 구성하시오 !
# 저자와 도서 리스트 authors = ['조정래', '조정래', '김훈', '김훈', '이문열', '이문열', '신경숙', '신경숙'] books = ['태백산맥', '한강', '칼의 노래', '남한산성', '우리들의 일그러진 영웅', '변경', '엄마를 부탁해', '리진'] 결과: { '조정래': ['태백산맥', '한강'], '김훈': ['칼의 노래', '남한산성'], '이문열': ['우리들의 일그러진 영웅', '변경'], '신경숙': ['엄마를 부탁해', '리진'] }
# 저자와 도서 리스트 authors = ['조정래', '조정래', '김훈', '김훈', '이문열', '이문열', '신경숙', '신경숙'] books = ['태백산맥', '한강', '칼의 노래', '남한산성', '우리들의 일그러진 영웅', '변경', '엄마를 부탁해', '리진'] from collections import defaultdict # 딕셔너리에 값을 추가하려면 키가 있어야 추가할 수 있는데 키가 존재하지 않는 딕셔너리에 접근할 때 defaultdict 를 사용하면 됨. a = defaultdict(list) for m,k in zip(authors, books): a[m].append(k) dict(a) # default dictionary 를 일반 딕셔너리로 변환
복습문제 12. 내장 모듈을 이용해서 입력한 파일이 음악 파일이 맞는지 확인하는 코드를 작성하시오.
#1. 음악 파일이 있는 위치를 지정 file_path = 'C:\\music\\how_sweet.mp3' #2. 음악 확장자 리스트를 만드시오. audio_extend =['.mp3','.wav','.flac','.aac','.ogg','.wma','.m4a'] #3. file_path 문자열에서 노래 제목부분만 가져오기 import os file_path = 'C:\\music\\how_sweet.mp3' os.path.splitext(file_path) # ('C:\\music\\how_sweet', '.mp3') result= os.path.splitext(file_path)[1].lower() # .mp3 print(result) #4. file_path 의 음악의 확장자가 아래의 리스트의 요소중에 속해있는지 확인하시오. audio_extend = ['.mp3','.wav','.flac','.aac','.ogg','.wma','.m4a'] audio_extend.count(result) # 1 #5. is_audio_file 이라는 함수를 만들고 다음과 같이 수행했을 때 음악 파일이 맞으면 '음악파일이 맞습니다' 가 출력되게 하시오. def is_audio_file(x): result = os.path.splitext(file_path)[1].lower() audio_extend = [ '.mp3', '.wav', '.flac', '.aac', '.ogg', '.wma', '.m4a' ] cnt = audio_extend.count(result) if cnt > 0 : print("음악 파일이 맞습니다") else: print("음악 파일이 아닙니다") is_audio_file(file_path)
복습 문제13. 다음 리스트에서 모든 홀수번째 단어를 대문자로 바꿔서 리스트로 출력하시오 ! a = ['apple', 'banana', 'cherry', 'date', 'fig', 'grape', 'jackfruit']
결과: [ 'APPLE', 'banana', 'CHERRY', 'date', 'FIG', 'grape', 'JACKFRUIT' ]
a = ['apple', 'banana', 'cherry', 'date', 'fig', 'grape', 'jackfruit'] result =[] for i, w in enumerate(a): if i % 2 == 0: result.append(w.upper()) else: result.append(w) print(result)
복습 문제14. 다음의 리스트에서 3의 배수인 단어를 대문자로 출력하시오.
a = ['apple', 'banana', 'cherry', 'date', 'fig', 'grape', 'jackfruit'] result=[] # 변환된 결과를 저장할 새로운 리스트 for i, w in enumerate(a): if (i+1) % 3 == 0 : # 3의 배수인 경우 result.append(w.upper()) # 단어를 대문자로 변환하여 추가 else: result.append(w) # 원래 단어를 그대로 추가 print(result) # 변환된 결과 리스트를 출력
복습문제 15. a = ['apple', 'banana', 'cherry', 'date'] # 리스트를 역순으로 (list / slicing)
복습문제 16. 다음 리스트를 다음과 같이 출력되게하시오.
복습문제 17. 아래에 주어진 리스트의 요소들을 중복 제거해서 리스트로 구성하시오.
a=[1,2,3,2,4,5,1,6,3,7,8,5]
복습문제 18. 아래의 주어진 리스트의 중복을 제거한 후 등장 횟수를 출력하시오.
a= [1,2,3,2,4,5,1,6,3,7,8,5]
from collections import Counter a = [ 1, 2, 3, 2, 4, 5, 1, 6, 3, 7, 8, 5 ] result = Counter(a) print(dict(result))
복습 문제19. 아래의 리스트에서 등장횟수 2번인 문자들만 새로운 리스트에 구성해서 출력하시오 !
char_list = [ 'a', 'b', 'c', 'a', 'b', 'd', 'e', 'f', 'e' ]
결과: [ 'a', 'b', 'e' ]
from collections import Counter char_list = ['a', 'b', 'c', 'a', 'b', 'd', 'e', 'f', 'e'] result = Counter(char_list) result2 = dict(result) result3 = [] for key, value in result2.items(): if value == 2: result3.append(key) print(result3)
복습문제 20. 다음 코드의 실행 결과를 예측하고, 그 이유를 설명하세요.
복습문제21. 그럼 다음의 코드의 total 값이 누적되서 출력되게 하려면 어떻게 해야하는가?
total = 0 def add_to_total(value): global total # 지역 변수 total 선언 total += value add_to_total(5) add_to_total(10) add_to_total(3) print(total)
복습문제 22. 다음 코드의 실행 결과를 예측하고, 발생 가능한 예외와 그 이유를 설명하세요.
또한, 해당 예외를 처리하는 코드를 추가하여 안전하게 실행되도록 수정하세요.
답)def divide(x, y): result = x / y return result num1 = 10 num2 = 0 # 0으로 나누는 경우 quotient = divide(num1, num2) print("몫:", quotient)
def divide(x, y): try: result = x / y except ZeroDivisionError: return "0으로 나눌 수 없습니다." return result num1 = 10 num2 = 0 # 0으로 나누는 경우 quotient = divide(num1, num2) print("몫:", quotient)
▣ 복습문제23. 다음 코드의 실행 결과를 예측하고, 발생 가능한 예외와 그 이유를 설명하세요.
또한, 해당 예외를 처리하는 코드를 추가하여 안전하게 실행되도록 수정하세요.
def divide(x, y): result = x / y return result num1 = 10 num2 = 0 # 0으로 나누는 경우 quotient = divide(num1, num2) print("몫:", quotient)
답)
num1 = 10 num2 = 0 # 0으로 나누는 경우 def divide(x, y): try: result = x / y return result except ZeroDivisionError: return '0으로 나눌 수 없습니다.' print (divide(10,0))
▣ 복습문제24. 다음 코드의 실행 결과를 예측하고, 문제점을 설명하세요.
또한, finally 블록을 사용하여 파일을 안전하게 닫도록 코드를 수정하세요.
def read_file(filename): f = open(filename, 'r') contents = f.read() print(contents) filename = 'c:\\data\\jobs.txt' read_file(filename)
답)def read_file(filename): f = None try: # 파일을 열 때 인코딩을 명시적으로 지정 f = open(filename, 'r', encoding='utf-8') contents = f.read() print(contents) except FileNotFoundError: print('해당 파일이 없습니다.') finally: # 예외처리가 발생했던 안했던 간에 무조건 실행 if f: f.close() filename = 'c:\\data\\jobs.txt' read_file(filename)
복습문제 24_2. 위의 함수를 수정해서 다음과 같이 함수를 실행하면 file 이름을 물어보게해서 파일을 열 수 있도록 하시오!
base_path = 'c:\\data\\' filename = input('보고 싶은 파일명을 입력하세요 ~ ') full_path = base_path + filename try: f = open(full_path, 'r', encoding='utf-8') contents = f.read() print(contents) except FileNotFoundError: print('해당 파일이 없습니다') finally: # 예외처리가 발생했던 안했던간에 무조건 실행 if 'f' in locals() and f: # f 가 정의되어 있고 열려있는 경우에만 닫기 f.close() read_file()
1. 문자열 함수 총정리
2. 리스트 함수 총정리
3. 딕셔너리
'빅데이터 분석(with 아이티윌) > python' 카테고리의 다른 글
[빅데이터분석] Python_29. 파이썬 웹 스크롤링1 (0) | 2024.08.13 |
---|---|
[빅데이터분석] Python_28. 파이썬 상속 (1) | 2024.08.13 |
[빅데이터분석] Python_27. 인스턴스 변수와 클래스 변수 (0) | 2024.08.09 |
[빅데이터분석] Python_26. 클래스 이해하기 (0) | 2024.08.09 |
[빅데이터분석] Python_25. 사용자 정의 예외 처리 (0) | 2024.08.08 |