출처 : 반크_독도2023
문제]
주어진 자료 [120, 56, 309, 220, 156, 23, 98]를 turtle 그래픽을 사용하여 막대그래프로 그려주고,
버블정렬하는 과정을 작성하여 주세요.
참고풀이]
import turtle
import time
def drawBar(height):
t.begin_fill()
t.left(90)
t.forward(height)
t.write(str(height), font = ('Times New Roman', 16, 'bold'))
t.right(90)
t.forward(40)
t.right(90)
t.forward(height)
t.left(90)
t.end_fill()
#리스트에 있는 데이터를 오름차순 정렬합니다.
def BubbleSort(list):
endIndex = len(list)-1
for passNo in range(endIndex, 0, -1):
for i in range(passNo):
if list[i] > list[i+1]:
list[i], list[i+1] = list[i+1], list[i]
t.up()
t.goto(-150,-150)
t.down()
t.clear()
for i in list:
drawBar(i)
time.sleep(1)
data = [120, 56, 309, 220, 156, 23, 98]
t = turtle.Turtle()
t.speed(0)
t.color("blue")
t.fillcolor("red")
t.pensize(3)
t.up()
t.goto(-150,-150)
t.down()
for d in data:
drawBar(d)
time.sleep(1)
BubbleSort(data)
turtle.mainloop()
turtle.bye()
결과]
대한민국의 아름다운 영토, 독도
'프로그램 > Python 1000제' 카테고리의 다른 글
Python 330제] 파이썬 EXPRESS CHAPTER 10. 도전문제 p474 (0) | 2024.11.11 |
---|---|
Python 329제] 병합 정렬(Merge Sort) (0) | 2024.11.04 |
Python 327제] 두근두근 파이썬(개정판) CHAPTER 13 연습문제 4 p397 (0) | 2024.10.28 |
Python 326제] 두근두근 파이썬(개정판) CHAPTER 12 도전문제 1 p377 (0) | 2024.10.21 |
Python 325제] 두근두근 파이썬(개정판) CHAPTER 11 연습문제 7 p361 (0) | 2024.10.19 |
댓글