220329 인공지능TIL 4주차

2022. 3. 30. 14:15코딩/TIL

1. 파이썬 라이브러리 불러오기 import 라이브러리(모듈) 

import random 랜덤 라이브러리 

import time 시간 관련 라이브러리 

import gTTs (google Text To speech) 구글에서 만든 모듈이며 텍스트를 음성으로 변환 

import datetime 파이썬에서 날짜와 관련된 데이터를 다루는 라이브러리 

 

 

2. 정수 난수 생성 

import random 한 후 a=random.randint(10,20) 10~20 사이의 난수를 생성하고 변수 a에 대입

 

3. 시간 계산 프로그램

import time # 시간 측정 라이브러리

start=time.time() # 시작 직전 시각을 기록
sum=0
for i in range(1,100000001): # 1억 번 반복
    sum=sum+i

end=time.time() # 끝난 직후 시각을 기록

print('1+2+...+100000000=', sum)
print('소요 시간은 ', end-start, '초입니다.') # 시간 차이를 계산하여 출력

 

4. datetime 내장 모듈의 datetime 클래스를 이용한 손흥민 경기 기사 작성

 

from datetime import datetime

# 경기 결과 입력 받는 곳
place=input("경기가 열린 곳은? ")
time=input("경기가 열린 시간은? ")
opponent=input("상대 팀은? ")
goals=input("손흥민은 몇 골을 넣었나요? ")
aids=input("도움은 몇 개인가요? ")
score_me=input("손흥민 팀이 넣은 골 수는? ")
score_you=input("상대 팀이 넣은 골 수는? ")

# 기사 작성하는 곳
news="[프리미어 리그 속보("+str(datetime.now())+")]\n"
news=news+"손흥민 선수는 "+place+"에서 "+time+"에 열린 경기에 출전하였습니다. "
news=news+"상대 팀은 "+opponent+"입니다. "

if score_me>score_you:
    news=news+"손흥민 선수의 팀이 "+score_me+"골을 넣어 "+score_you+"골을 넣은 상대 팀을 이겼습니다. "
elif score_me<score_you:
    news=news+"손흥민 선수의 팀이 "+score_me+"골을 넣어 "+score_you+"골을 넣은 상대 팀에게 졌습니다. "
else:
    news=news+"두 팀은 "+score_me+"대"+score_you+"로 비겼습니다. "

if int(goals)>0 and int(aids)>0:
    news=news+"손흥민 선수는 "+goals+"골에 도움 "+aids+"개로 승리를 크게 이끌었습니다. "
elif int(goals)>0 and int(aids)==0:
    news=news+"손흥민 선수는 "+goals+"골로 승리를 이끌었습니다. "
elif int(goals)==0 and int(aids)>0:
    news=news+"손흥민 선수는 골은 없지만 도움 "+aids+"개로 승리하는 데 공헌하였습니다. "
else:
    news=news+"아쉽게도 이번 경기에서 손홍민의 발끝은 침묵을 지켰습니다. "

print(news)

# 음성으로 들려주는 곳
from gtts import gTTS
import playsound

tts=gTTS(text=news,lang='ko') # 문자열 news를 위한 한국어 음성 합성
tts.save("news_Kim.mp3")
playsound.playsound("news_Kim.mp3",True)

gTTs를 사용하기 위해서는 

pip install gtts를 먼저 해주어야 한다. 

 

 

5. 궁금한 점 

datetime과 time 라이브러리의 차이는 뭐지? 

일단 time 

ex) 현재 시각 time.time() 1970년 1월 1일 0시 0분 0초 이후 경과한 시간을 나타낸다 

 

datetime

datetime.datetime.today() 

 

간단하게 정리해보자면 time 모듈은 1970년 1월 1일 ~ 이후의 경과한 시간을 나타내주고 

datetime 모듈은 현재 시간 기준으로 반환한다. 

 

참고 https://info-lab.tistory.com/234

 

[Python] 파이썬 gtts Module을 이용한 텍스트 음성 변환(Text to Speech)

gtts(Google Text-to-Speech)는 구글에서 만든 모듈(Module)이며 이외 네이버에서 제공하는 클로버(Clova) API를 이용하여 하는 방법도 있다. 이번에는 gtts 모듈을 이용하여 텍스트를 음성으로 변환하는 방

info-lab.tistory.com