디필의 요모조모
파이썬 for Beginner 7장 연습문제 본문
1. 리스트를 만들고 출력하는 방식이다. 오류가 나는 부분을 고르시오.
aa = [10,20,30]
print(aa[0])
print(aa[1])
print(aa[2])
print(aa[3])
2. 빈 리스트를 100개 만들고 길이를 구하는 코드이다. 빈칸을 예에서 골라서 채우시오.
append, for, range
myList = []
for i in range(0,100):
myList.append(0)
len(myList)
3. 사용자가 숫자를 3개 입력하고 입력한 숫자의 합계를 구하는 코드이다. 빈칸을 for 문으로 완성하시오.
myList = []
for i in range(0,3):
myList.append(0)
hap = 0
for i in range(0,3):
myList[i] = int(input(str(i+1) + "번째 숫자 :"))
for k in range(0,3):
hap = hap + myList[k]
print("합계 ==> %d" % hap)
4. 비어 있는 자료구조를 초기화하는 코드이다. 서로 맞는 것끼리 줄로 이으시오.
① aa = [] ==> 나. 리스트
② bb = {} ==> 다. 딕셔너리
③ cc = () ==> 가. 튜플
④ dd = None ==> 라. 일반 변수
5. 다음 리스트가 있을 때, 각 문제의 출력 결과를 예측하시오.
aoa = ['설현', '초아', '지민', '유나', '유경', '혜정', '민아', '찬미']
① aoa[2] 지민
② aoa[-2] 민아
③ aoa[0:1] ['설현']
④ aoa[6:] ['민아','찬미']
⑤ aoa[-7:-5] ['초아','지민']
⑥ aoa[1::3] ['초아','유경','찬미']
6. 각 설명에 해당하는 리스트 조작 함수를 보기에서 고르시오.
append(), pop(), sort(), reverse(), index(), insert(), remove(), extend(), count()
① 리스트의 뒤에 리스트를 추가한다. ==> append()
② 리스트에서 지정한 값을 제거한다. ==> remove()
③ 리스트 항목의 순서를 역순으로 만든다. ==> reverse()
④ 리스트 맨 뒤의 항목을 빼내고, 빼낸 항목은 삭제한다. ==> pop()
7. 2차원 리스트의 예이다. 각 문제의 출력되는 결과를 예측하시오.
myList = [[1,2,3,4],
[5,6,7,8],
[9,10,11,12]]
① myList = [0][1] 2
② myList = [1][3] 8
③ myList = [2] [9,10,11,12]
8. 다음 코드를 실행했을 때 myData에 저장된 값은 몇 개인가?
myData = {1, 1, 1, 2, 2, 3, 3, 3}
myData.add(1)
3개 ==> {1,2,3}
9. 다음 코드를 실행했을 때 myData에 저장된 값은?
import math
myData = [int(math.pow(2, num)) for num in range(0,5) if num % 2 != 0]
[2,8] ==> 2개
10. (심화문제) [프로그램 1]을 수정해 X+Y 좌표가 가장 작은 거북이부터 정렬한 후 거북이끼리 선을 긋는다. 예를 들어 (10, 10), (-100, -50), (50, 10) 세 좌표의 거북이를 X+Y값으로 정렬하면 (-100, 50), (10, 10), (50, 10)이 되는데, 이 세 거북이를 선으로 이으면 된다. 다음 결과는 거북이 10마리를 좌표로 정렬한 후 선을 그은 결과이다.
import turtle
import random
myTurtle, tX, tY, tColor, tSize, tShape, tSum = [None] * 7
playerTurtles = []
swidth, sheight = 500, 500
if __name__ == "__main__" :
turtle.title('거북 리스트 활용(정렬)')
turtle.setup(width = swidth + 50, height = sheight + 50)
turtle.screensize(swidth, sheight)
for i in range(0, 10) :
myTurtle = turtle.Turtle('turtle')
tX = random.randrange(-swidth / 2, swidth / 2)
tY = random.randrange(-sheight / 2, sheight / 2)
r = random.random(); g = random.random(); b = random.random()
tSize = random.randrange(1, 3)
tSum = tX + tY
playerTurtles.append([myTurtle, tX, tY, tSize, r, g, b, tSum])
sortedTurtles = sorted(playerTurtles, key = lambda turtles : turtles[7], reverse = True)
for index, tList in enumerate(sortedTurtles[0:]):
myTurtle = tList[0]
myTurtle.color((tList[4], tList[5], tList[6]))
myTurtle.pencolor((tList[4], tList[5], tList[6]))
myTurtle.turtlesize(tList[3])
myTurtle.penup()
if index == 0:
myTurtle.goto(tList[1], tList[2])
continue
myTurtle.goto(sortedTurtles[index-1][1], sortedTurtles[index-1][2])
myTurtle.pendown()
myTurtle.goto(tList[1], tList[2])
turtle.done()
'Programming Language > Python' 카테고리의 다른 글
파이썬 for Beginner 9장 연습문제 (0) | 2019.12.08 |
---|---|
파이썬 for Beginner 8장 연습문제 (0) | 2019.12.08 |
파이썬 for Beginner 6장 연습문제 (0) | 2019.12.07 |
파이썬 for Beginner 5장 연습문제 (0) | 2019.12.07 |
파이썬 for Beginner 4장 연습문제 (0) | 2019.12.07 |