개발/파이썬 업무 자동화

실습 - 사용 빈도수에 따른 단어 출력하기

이게될까 2024. 2. 20. 00:13
728x90
728x90

문자열 관련 함수

2021/06/01이 2021.06.01로 변하게 된다.

split

split괄호 안에 아무것도 넣지 않으면 공백 기준으로 문자열을 나눈다.

count

특정 문자열의 개수를 문자열 내에서 찾는다.

randint

1~100사이의 정수중 랜덤하게 나온다.

from random import * 이렇게 작성하면 random randint라고 작성 안하고 바로 randint로 작성해도 된다.

turtle

여기서도 저렇게 *을 작성함으로써 그냥 사용할 수 있게 해준다.

import turtle as t

t.shape('turtle')
t.forward(100) # 앞으로 간다.
t.left(170) # 170도만큼 돈다.
t.done()

노래 가사중에서 많이 사용되는 문자 찾기!

import turtle as t # 여기선 t를 작성하고 뒤에 함수를 적어야 한다. *은 아무것도 작성하지 않고 함수를 사용한다는 뜻이다.
import random as r

# BTS의 다이너 마이트 가사!
dynamite = """'Cause I-I-I'm in the stars tonight
So watch me bring the fire and set the night alight
Shoes on, get up in the morn'
Cup of milk, let's rock and roll
King Kong, kick the drum, rolling on like a Rolling Stone
Sing song when I'm walking home
Jump up to the top, LeBron
Ding dong, call me on my phone
Ice tea and a game of ping pong, huh
This is getting heavy
Can you hear the bass boom? I'm ready (woo hoo)
Life is sweet as honey
Yeah, this beat cha-ching like money, huh
Disco overload, I'm into that, I'm good to go
I'm diamond, you know I glow up
Hey, so let's go
'Cause I-I-I'm in the stars tonight
So watch me bring the fire and set the night alight (hey)
Shining through the city with a little funk and soul
So I'ma light it up like dynamite, whoa oh oh
Bring a friend, join the crowd
Whoever wanna come along
Word up, talk the talk
Just move like we off the wall
Day or night, the sky's alight
So we dance to the break of dawn (hey)
Ladies and gentlemen, I got the medicine
So you should keep ya eyes on the ball, huh
This is getting heavy
Can you hear the bass boom? I'm ready (woo hoo)
Life is sweet as honey
Yeah, this beat cha-ching like money
Disco overload, I'm into that, I'm good to go
I'm diamond, you know I glow up
Let's go
'Cause I-I-I'm in the stars tonight
So watch me bring the fire and set the night alight (hey)
Shining through the city with a little funk and soul
So I'ma light it up like dynamite, whoa oh oh
Dy-na-na-na, na-na, na-na-na, na-na-na, life is dynamite
Dy-na-na-na, na-na, na-na-na, na-na-na, life is dynamite
Shining through the city with a little funk and soul
So I'ma light it up like dynamite, whoa oh oh
Dy-na-na-na, na-na, na-na, ayy
Dy-na-na-na, na-na, na-na, ayy
Dy-na-na-na, na-na, na-na, ayy
Light it up like dynamite
Dy-na-na-na, na-na, na-na, ayy
Dy-na-na-na, na-na, na-na, ayy
Dy-na-na-na, na-na, na-na, ayy
Light it up like dynamite
'Cause I-I-I'm in the stars tonight
So watch me bring the fire and set the night alight
Shining through the city with a little funk and soul
So I'ma light it up like dynamite (this is ah)
'Cause I-I-I'm in the stars tonight
So watch me bring the fire and set the night alight (alight, oh)
Shining through the city with a little funk and soul
So I'ma light it up like dynamite, whoa (light it up like dynamite)
Dy-na-na-na, na-na, na-na-na, na-na-na, life is dynamite
Dy-na-na-na, na-na, na-na-na, na-na-na, life is dynamite
Shining through the city with a little funk and soul
So I'ma light it up like dynamite, whoa oh oh   """ # 이 안에 인터넷에서 가사를 찾아서 넣으면 됩니다.

# 단어들이 ', 공백, - , , 등 여러가지로 구분되어 있다. -> 다 없애주고 공백으로 한다.
# 없앨 때 replace를 사용하여 치환한다!

# 불필요한 단어 없애기
for i in "()_!?,\,":
	dynamite = dynamite.replace(i, ' ')
    
dynamite = dynamite.replace('-', ' ')
voca = dynamite.split() # 나누기
dic= {}
for i in voca:
	dic[i] = voca.count(i)# 저장!
    
t.speed(0)
t.hideturtle()
t.penup()

t.colormode(255) # RGB를 통한 색상
for i in dic:
	t.pencolor(r.randint(0,255),r.randint(0,255),r.randint(0,255))
    t.goto(r.randint(-300,255),r.randint(-300,255))# 위치 변경 (x,y)
    t.write(i,font = ('맑은고딕',(dic[i]+ 4) * 2,'bold')) # 출력 폰트, 크기, 
    
t.mainloop()
#t.pendown()

단어들이 사용빈도가 크기로 나타내어 주르륵 나오게 된다.

 

728x90