# 데이터 타입 관련 퀴즈(정답은 영상)

# 1. 아래 문자열의 길이를 구해보세요.
q1 = "dk2jd923iljdk2jd93jfd92jd918943jfd8923"
print('1번 :',len(q1))
print()
print('-----------------------------------------------------------------------------')
# 2. print 함수를 사용해서 아래와 같이 출력해보세요.
#    apple;orange;banana;lemon
q2 = 'apple;orange;banana;lemon'
print('2번 :',"""apple;orange;banana;lemon""")
print('2번 슬라이싱을 통한 전체 출력 :', q2[:]) # 슬라이싱을 통한 전체 출력
print()
print('-----------------------------------------------------------------------------')

# 3. 화면에 * 기호 100개를 표시하세요.
q3 = '*'
print('3번 :', '*' * 100)
print()
print('-----------------------------------------------------------------------------')
# 4. 문자열 "30" 을 각각 정수형, 실수형, 복소수형, 문자형으로 변환해보세요.번
q4 = "30"
print('4번-1 정수형:', int(q4))
print('4번-2 실수형:', float(q4))
print('4번-3 복소수형:', complex(q4))
print('4번-4 문자형:', str(q4))
print()
print('-----------------------------------------------------------------------------')
# 5. 다음 문자열 "Niceman" 에서 "man" 문자열만 추출해보세요.
# 슬라이싱
q5 = "Niceman"
q5_idx = q5.index("man")
print('5번-1 :', q5[4:])
print('5번-2 :', q5[q5_idx:q5_idx+3])
print('5번-3 :', q5[-3:])
print()
print('-----------------------------------------------------------------------------')
# 6. 다음 문자열을 거꾸로 출력해보세요 : "Strawberry" (reversed)
q6 = "Strawberry"
print('6번-1(tuple) :', tuple(reversed(q6)))
print('6번-2(list : 순서o 중복o)  :', list(reversed(q6)))
print('6번-3(set  : 순서x 중복x)   :', set(reversed(q6)))
# 슬라이싱
print('6번-2 :', q6[::-1])
print()
print('-----------------------------------------------------------------------------')
# 7. 다음 문자열에서 '-'를 제거 후 출력하세요 : "010-7777-9999"★
q7 = '010-7777-9999' # 슬라이싱 으로 제거 # replace('찾을 값','바꿀 값') 함수 사용 # SQL NVL('찾을 값이 널일 경우', '바꿀 값')과 비슷
print('7번-1 :', q7[0:3]+q7[4:8]+q7[9:])
print('7번-2(replace 함수 사용) :', q7.replace('-',''))
# 정규 표현식
import re
print('7번-2 :', re.sub('[^0-9]','', q7))
print()
print('-----------------------------------------------------------------------------')
# 8. 다음 문자열(URL)에서 "http://"부분을 제거 후 출력하세요. : "http://daum.net"★
q8 = 'http://daum.net'
print('8번 :', q8[7:])
print('8번-1(replace 함수 사용) :', q8.replace('http://', ''))
print()
print('-----------------------------------------------------------------------------')
# 9. 다음 문자열을 모두 대문자, 소문자로 각각 출력해보세요. : "Niceman"
q9 = 'Niceman'
print('9번-1 소문자 :', q9.lower())
print('9번-2 대문자 :', q9.upper())
print()
print('-----------------------------------------------------------------------------')
# 10. 다음 문자열을 슬라이싱을 이용해서 "cde"만 출력하세요 : "abcdefghijklmn"
q10 = 'abcdefghijklmn'
print('10번 :' ,q10[2:5])
print()
print('-----------------------------------------------------------------------------')
# 11. 다음 리스트에서 "Apple" 항목만 삭제하세요 : ["Banana", "Apple", "Orange"]★
q11 = ["banana", "Apple", "Orange"]
q11.remove("Apple") # 값을 찾는다.
print('11번 :', q11)
print('11번-Type :', type(q11))
print()
print('-----------------------------------------------------------------------------')
# 12. 다음 튜플(순서,중복x | 수정,삭제x) 을 리스트로 변환하세요. : (1, 2, 3, 4)
q12 = (1, 2, 3, 4)
print('12번 :', list(q12))
print()
print('-----------------------------------------------------------------------------')
# 13. 다음 항목을 딕셔너리(dict)으로 선언해보세요 : <성인 - 100000, 청소년 - 70000, 아동 - 30000>
q13 = {'성인' : 100000, '청소년' : 70000, '아동' : 30000}
print('13번 :', q13)
# 방법2.
# q13 = {}
# q13['성인'] = 100000
# q13['청소년'] = 70000
# q13['아동'] = 30000
print()
print('-----------------------------------------------------------------------------')
# 14. 13번에서 선언한 딕셔너리(dict) 항목에 <소아 - 0> 항목을 추가해보세요.
q13['소아']=0
print('14번 :', q13)
print()
print('-----------------------------------------------------------------------------')
# 15. 13번에서 선언한 딕셔너리(dict)에서 key 항목만 출력해보세요.
print('15번 :', q13.keys())
print()
print('-----------------------------------------------------------------------------')
# 16. 13번에서 선언한 딕셔너리(dict)에서 value 항목만 출력해보세요.
print('16번-1 :', q13.values())
# 튜플 형변환
print('16번-2 : 튜플 형변환', tuple(q13))
print()
print('-----------------------------------------------------------------------------')
