파이썬 for beginner chapter8 문자열 연습문제
본문 바로가기

Backend

파이썬 for beginner chapter8 문자열 연습문제

1. 문자열을 추출하는 코드를 보고 출력내용을 예측하시오

ss = 'Python'
print(ss[0]) #P
print(ss[1:2]) #y
print(ss[-3:-1] #ho
print(ss[3:] #hon

2. 다음 문자열이 있을 때 오류가 발생하는 것을 모두 고르시오

ss1 = 'Python'
ss2 = 'Good'

ss1 + ss2 -> 'Python Good'으로 예상됨

ss1 - ss2 오류발생

ss1 * 3 -> 'PythonPythonPython'으로 예상됨

ss1/ss2 오류발생

3. 문자열의 중간마다 $를 끼워 넣는 코드이다. 빈칸을 채우시오.

ss = 'Python'
for i in range(0, len(ss)):
	print(ss[i] + '$',end='')
    

4. 문자열을 반대의 순서로 출력하는 코드이다. 빈칸을 채우시오

inStr, outStr = "Python", ""
strLen = len(inStr)

for i in range(0, strLen):
  outStr += inStr[strLen - (i+1)]

print('거꾸로 출력 -->',outStr)
    

5.다음 문자열이 주어졌을 때 각 문자열 함수의 결과를 예측하시오

myStr = 'Hanbit'

myStr.upper() -> HANBIT

myStr.lower() -> hanbit

myStr.swapcase() ->hANBIT

myStr.title() -> Hanbit

 

6.다음 문자열이 주어졌을 때 각 문자열 함수의 결과를 예측하시오

myStr = 'Hanbit Media, Hanbit Academy, Hanbit Life'

myStr.count('Hanbit') #3 #Hanbit은 총 몇개?

myStr.rindex('Media') #7

myStr.find('Hanbit',2) #14 #2번째 #Hanbit은 몇번째 index에 위치해있나?

myStr.startswith('Hanbit') #True #Hanbit으로 시작하냐? 맞으면 True

 

*myStr.rindex('Hanbit') #30 #젤 우측에 위치한 Hanbit까지의 index

 

7. 입력된 문자열에서 숫자를 삭제하는 프로그램을 작성하시오.

outStr = ''
inStr = input('문자열-->')

for i in range(0, len(inStr)):
  if inStr[i].isdigit() == False:
    outStr += inStr[i]

print('숫자 제거-->', outStr)

8. 입력한 문자열에서 숫자, 영문 대소문자, 한글, 기타문자의 개수를 세는 프로그램을 작성하시오.

inStr = input('문자열을 입력하세요')
lowerNo, upperNo, countNo, elseNo, kalpa = '', '', '', '', ''

for i in range(0, len(inStr)):
  if inStr[i].isdigit() == True:
    countNo += inStr[i]
  elif inStr[i].isupper() == True:
    upperNo += inStr[i]
  elif inStr[i].islower() == True:
    lowerNo += inStr[i]
  elif ord('가') <= ord(inStr[i]) <= ord('힣'):
    kalpa += inStr[i]
  else:
    elseNo += inStr[i]
    

print('대문자:',len(upperNo), '소문자:', len(lowerNo), '숫자:', len(countNo), '한글:', len(kalpa), '기타:', len(elseNo))

if문에서 '==True'는 생략가능

 

응용예제1 swapcase()함수를 사용하지않고 대소문자 상호 변환하기

#대소문자 상호 변환하기
#swapcase()함수를 사용하지 않고 대문자는 소문자로 변환하고 소문자는 대문자로 변환하는 프로그램
outStr = ''
inStr = input('문자열을 입력하세요:')

for i in range(0, len(inStr)):
  if inStr[i].islower() == True:
    outStr += inStr[i].upper()
  elif inStr[i].isupper() == True: 
    outStr += inStr[i].lower()
  else:
    outStr += inStr[i]

print('대소문자 변환결과:',outStr)

반응형