디필의 요모조모
파이썬 for Beginner 8장 연습문제 본문
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
② ss1 - ss2
③ ss1 * 3
④ 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("내용을 거꾸로 출력 --> %s" % 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') count()는 개수. 3개
② myStr.find('Hanbit',2) 2번째 글자 a부터 다음 Hanbit 까지. 14번째
③ myStr.rindex('Media') 오른쪽에서 가까운 Media, 왼쪽부터 세었을 경우 7번째 위치
④ myStr.startswith('Hanbit') Hanbit으로 시작하는가? True
7. 입력된 문자열에서 숫자를 삭제하는 프로그램을 작성하시오.
inStr=input("문자를 입력 :")
outStr=""
for i in inStr:
if i.isdigit():
continue
outStr += i
print("숫자 제거 --> " + outStr)
8. 입력한 문자열에서 숫자, 영문 대·소문자, 한글, 기타 문자의 개수를 세는 프로그램을 작성하시오.
(1)
inStr = input("문자열을 입력하세요 :")
outStr = ""
upper,lower,digit,hangul,etc = [0]*5
for i in inStr:
if ord('a') <= ord(i) <= ord('z'):
lower += 1
elif ord('A') <= ord(i) <= ord('Z'):
upper += 1
elif ord('가') <= ord(i) <= ord('힣'):
hangul += 1
elif ord('0') <= ord(i) <= ord('9'):
digit += 1
else:
etc += 1
print("대문자:%d,소문자:%d,숫자:%d,한글:%d,기타:%d" % (upper,lower,digit,hangul,etc))
(2)
inStr = input("문자열을 입력하세요 :")
outStr = ""
upper,lower,digit,hangul,etc = [0]*5
for i in inStr:
if i.isalpha():
if i.isupper():
upper += 1
elif i.islower():
lower += 1
else:
hangul += 1
elif i.isdigit():
digit += 1
else:
etc += 1
print("대문자:%d,소문자:%d,숫자:%d,한글:%d,기타:%d" % (upper,lower,digit,hangul,etc))
9. (심화문제) [프로그램 2]를 수정해 다음과 같이 반시계방향으로 원을 그리면서 글자를 입력하시오.
import turtle
import random
import math
from tkinter.simpledialog import *
inStr = ''
swidth, sheight = 300, 300
tX, tY, txtSize = 0,0,20
radius, angle, radian = 100, 0, 0
turtle.title('거북이 원 모양의 글자쓰기')
turtle.shape('turtle')
turtle.setup(width = swidth + 50, height = sheight + 50)
turtle.screensize(swidth, sheight)
turtle.penup()
inStr = askstring('문자열 입력', '거북이 쓸 문자열을 입력')
angle = 360 / len(inStr)
for ch in inStr :
radian = 3.14 * angle / 180
tX = radius * math.cos(radian)
tY = radius * math.sin(radian)
r = random.random(); g = random.random(); b = random.random()
turtle.goto(tX, tY)
turtle.pencolor((r, g, b))
turtle.write(ch, font=('맑은고딕', txtSize, 'bold'))
angle += 360 / len(inStr)
turtle.done()
'Programming Language > Python' 카테고리의 다른 글
파이썬 for Beginner 10장 연습문제 (0) | 2019.12.08 |
---|---|
파이썬 for Beginner 9장 연습문제 (0) | 2019.12.08 |
파이썬 for Beginner 7장 연습문제 (0) | 2019.12.08 |
파이썬 for Beginner 6장 연습문제 (0) | 2019.12.07 |
파이썬 for Beginner 5장 연습문제 (0) | 2019.12.07 |