AI SCHOOL/TIL

[Week 1] WIL

moru_xz 2022. 12. 23. 17:26

#12.20

- 출력: print()

- importㅣ 불러오기 

- 반복 for i in range() : # 잊지말기

- time.sleep(): 초 

- 리스트 

 

import random
import time

lunch = ["된장찌개", "피자", "제육볶음", "짜장면"]

while True:
    print(lunch)
    item = input("음식을 추가 해주세요 : ")
    if(item == "q"):
        break
    else:
        lunch.append(item) #사용자 입력값을 append 해주는 것 
print(lunch) #추가된 것 print문으로 계속해서 보여주는 것 

set_lunch = set(lunch) #집합으로 삭제하는 것이 편리, 집합은 짜장면 두개 들어있다 해도 한개만 인정, 차집합 연산 있어서 간단히 가능 
while True:
    print(set_lunch)
    item = input("음식을 삭제해주세요 : ")
    if(item == "q"):
        break
    else:
        set_lunch = set_lunch - set([item]) #item 문자여서 list로 바꾸고 집합으로 

print(set_lunch, "중에서 선택합니다.")
print("5")
time.sleep(1)
print("4")
time.sleep(1)
print("3")
time.sleep(1)
print("2")
time.sleep(1)
print("1")
time.sleep(1)
print(random.choice(list(set_lunch))) #random.choice는 list에서만 작동
total_dictionary = {}
while True: 
    question = input('질문을 입력해주세요: ')
    if question == 'q':
        break
    else:
        total_dictionary[question]= ''
print(total_dictionary)

 

#12.21

 

- .append(): 추가할 것들 / ..insert(인덱스 넘버, 삽입할 것)

- .remove('제거할 단어')

- if : elif: esle:

- sum() / max() / min()

 

myGrade = int(input('학번을 입력하시오: '))
yourGrade = int(input('학번을 입력하시오: '))

if myGrade == yourGrade:
    print('안녕하세요. 동기님!')
elif myGrade > yourGrade:
    print('안녕하세요 선배님!')
elif myGrade < yourGrade :
    print("안녕하세요 후배님!")
else :
    print("누구세요?")
orders = ["짜장", "짬뽕", "탕수육"]

food = input("먹고싶은 메뉴를 입력해주세요 : ")

if food in orders:
    print('주문할 수 있습니다')
else:
    print('주문할 수 없습니다.')
#로또 번호
import random

num = int(input('로또를 몇 장 구매하시겠습니까?'))
for i in range(num): #로또 반복 횟수 이 부분에서 나와있기 때문에 if문이나, * 사용할 필요 없음!
    lotto = random.sample(range(1,46), 6)
    lotto.sort()
    print(lotto)
# 별 찍기
for i in range(5):
    i = i+1
    if i <=5:
        print('*'*i)

 

#12.22

-  web crawling : 크롤러를 사용해 웹 페이지의 데이터를 추출해 내는 행위

- 터미널에 install을 이용해서 설치 가능 ex) pip install requests

- 함수: 자주 사용하는 코드를 사용할 수 있게 해주는 것 -> 반복적인 작업 줄일 수 있도록

- 모듈: 조립 키트, 여러개의 기계 파이썬에서 자주 쓰는 함수들을 모아둔 파일

- requests.get(url) 

return: requests.response

requests 모듈에서

get 함수를 꺼내

요청을 보내줘

return 응답값

-  BeatifulSoup 기능 : title, tile.string, span, findAll(‘span’) 등 필요한 데이터만 출력 ex)BeautifulSoup(response.text, 'html.parser')

- datetime.today().strftime() : 오늘 날짜를 출력 *strftime() : 년월일까지만 출력하게 함 16. 특정 사이트는 접근이 불가능할 수 있다. -> 크롤링 로봇이 아니라는 것을 써주면 된다.

- API: Application  Programming Interface

- API key 는 방명록 같이 API 쓴 사람 흔적(이름)

 

번역기

!pip uninstall googletrans
!pip install googletrans==3.1.0a0 
from googletrans import Translator

print(Translator)   #https://velog.io/@kir315/googletrans-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0

translator = Translator()

#sentence = '안녕하세요 코드라이언입니다.'
sentence = '안녕하세요 코드라이언 입니다.'
detected = translator.detect(sentence)

print(detected) #한국어, 언어감지 신뢰성(1 은 100%)

sentence = input('번역을 원하는 문구를 작성하시오.')
detected = translator.detect(sentence)
result = translator.translate(sentence, 'fr')
print('=============출력결과============')
print(detected.lang, ":", sentence)
print(result.dest, ':', result.text)

메일 보내기

 

import smtplib  #smtp메일 서버로 메일 쉽게 보낼 수 있게 하는 라이브러리
from email.message import EmailMessage #작성하고 싶은 메일 내용을 MIME 타입으로 변환 시켜주는
import imghdr

SMTP_SERVER = "smtp.gmail.com" 
SMTP_PORT = 465 

message = EmailMessage() 
message.set_content('지금은 공부 중...') #본문

message['Subject'] = '이것은 제목입니다.'
message['From'] = '내 메일 주소'
message['To'] = '받는 사람 메일 주소'  #MIME 헤더 부분에 들어가서 []로

with open("codelion.png","rb") as image:
    image_file = image.read() 

image_type = imghdr.what('codelion', image_file)
print(image_type)
message.add_attachment(image_file, maintype = 'image', subtype=image_type)

smtp = smtplib.SMTP_SSL(SMTP_SERVER,SMTP_PORT)
smtp.login("내 메일@gmail.com","비밀번호")  #구글 앱 비밀번호 설정해야 함!
smtp.send_message(message)
smtp.quit()