'Python'에 해당되는 글 7건

학교 과제 따라해 보기_1 탄 

숫자 맞추기

 

파이썬으로 뭘 만들어 볼까 유튜브 검색중에 학교과제에서 했었던 영상들이 꽤 많다는 것을 봤다.

학교 다니때는 왜 유튜브를 찾아보지 않았을까라는 후회가 될정도로 많았다....

어찌됐든 기억을 더듬이며 하나씩 해보면 재미있지 않을가 해서 해본다.

첫번째는 Guess the number로 정했다.

lecture 끝나고 workshop 시간에 했었던 걸로 기억한다. 그때는 이거 하나 만들기도 벅차서 중국애랑 일본애랑 셋이서 머릴 맞대고 만들었던 기억이 ㅋㅋㅋㅋ 

이게 효율적인 코드인지는 모르겠지만 일단 5분도 안걸림;;

import random #랜덤숫자 생성을 위해 모듈 불러옴
num = random.randint(0, 50)#0~50 사이의 숫자하나를 생성 후 변수 저장
print(num) # 테스트를 해보기위해 생성된 변수를 프린트 해봤다
input_num = int(input("숫자를 입력 해주세요:\n"))# 입력값을 받고 input값이 str이기때문에 int로 변경
for i in range(5): # 반복문 5번만 하겠다
    if input_num < num: #나머지는 if 문
        print("입력하신 숫자보다는 큽니다.")
        input_num = int(input("숫자를 입력 해주세요:\n"))
    elif input_num > num:
        print("입력하신 숫자보다는 작습니다.")
        input_num = int(input("숫자를 입력 해주세요:\n"))
    elif input_num == num:
        print("성공하셨습니다. 숫자는 %d입니다." % num)
    elif i == 5:
        print("입력횟수를 초과 하셨습니다.")


13
숫자를 입력 해주세요:
1
입력하신 숫자보다는 큽니다.
숫자를 입력 해주세요:
2
입력하신 숫자보다는 큽니다.
숫자를 입력 해주세요:
66
입력하신 숫자보다는 작습니다.
숫자를 입력 해주세요:
14
입력하신 숫자보다는 작습니다.
숫자를 입력 해주세요:
13
성공하셨습니다. 숫자는 13입니다.

 

블로그 이미지

JustDoIt_Sun

,

오늘 로또를 사러 가야겠다라고 생각하다 문득 로또번호 파이썬으로 만들어서 한번 그걸로 로또 사볼까?? 라는 

생각이 들어서 만들어 보기로 결정 했다.

지금 사러 가야 되니까 일단 랜덤으로 생성되는 번호까지만 만들어 보자.

import random 
for i in range(5): # 오천원치 살거니까 다섯세트 번호로 만들자
    num = random.sample(range(1, 46), 6)# 1~45번까지 중에서 6개의 숫자를 랜덤으로 뽑아 온다
    print(num)

#실행값
8, 31, 45, 34, 19, 27]
[1, 25, 3, 11, 8, 10]
[16, 25, 4, 23, 5, 32]
[25, 18, 21, 3, 27, 12]
[18, 11, 10, 13, 20, 27]
[Finished in 0.075s]

생각보다 너무 간단 ^^;;

며칠전에 해봤던 tkinter 모듈을 이용해 버튼에 함수 넣고 출력창 만들어도 될듯해서 

다음에 GUI 로 함 해보자. 오늘은 이만... ccna 정리 해야 되서...

블로그 이미지

JustDoIt_Sun

,

조코딩 영상을 보며 이미지 크롤링을 따라 해봤다.

selenium이라는 프레임 워크를 이용해서 크롤링 하는 것임.

크롤링이란 웹페이지 그대로 가져와 데이터를 추출하는 것을 말한다.

그러면 selenium은?

 

셀레늄(Selenium)은 웹 애플리케이션 테스트를 위한 포터블 프레임워크이다. 셀레늄은 테스트 스크립트 언어를 학습할 필요 없이 기능 테스트를 만들기 위한 플레이백 도구를 제공한다. <위키백과>

블라블라 여기서 중요한 것은 프레임워크 라는것!

어원은 잘 몰르겠지만, 프레임 + 워크 프레임 이라는 틀안에서 일한다 라느 느낌, 예를 들면 프레임이 집 만들기 라면 워크는 만들기 위한 기술들의 집합 정도?

 

어쨌든 이 크롤링을 따라하면서 느낀 selenium 느낌은 웹사이트를 불러와 그 안에 있는 데이터를 반복적으로 추출 하는데 이것을 자동!으로 

한다는 것이 중요 하다는 느낌!

 

오늘 한 코드

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import urllib.request


driver = webdriver.Chrome("/Users/sun/Documents/selenium/selenium/chromedriver") #driver 변수에 webdriver.chrome 을 저장, 함수 호출 후 변수 저장
driver.get("https://www.google.co.kr/imghp?hl=ko&tab=ri&ogbl") #드라이버(크롬)를 실행 하는데 주소를 가져와서 실행, 함수 호출
elem = driver.find_element_by_name("q") #변수에 검색을 선택
elem.send_keys("강한나") # 검색란에 남주혁이라는 값을 입력, 함수 호출
elem.send_keys(Keys.RETURN) # 엔터기를 누른다, 함수 호출
images = driver.find_elements_by_css_selector(".rg_i.Q4LuWd")#클래스단위로 이미지들을 선택 후 변수 저장
count = 1 #변수 저장
for image in images: # 반복문
    try:
        image.click()# 다음 실행 화면에서 첫번째 사진을 클릭한다, 함수 호출
        time.sleep(2)#사진 클릭시 로딩되는 시간때문에 지연시간을 넣는다, 함수 호출
        imgUrl = driver.find_element_by_xpath('/html/body/div[2]/c-wiz/div[3]/div[2]/div[3]/div/div/div[3]/div[2]/c-wiz/div[1]/div[1]/div/div[2]/a/img').get_attribute("src")#클릭시 큰 사진을 선택하고 거기서 src 를 가져온다, 함수 호출 후 변수 저장
        urllib.request.urlretrieve(imgUrl, "/Users/sun/Documents/selenium/selenium/save/ %s.jpg" % str(count) )#이미지 저장, 함수 호출
        count = count + 1 # 이미지 이름을 1씩증가 해서 1,2,3,4, 이런식으로 저장
    except:
        pass
driver.close()

뭔가 자동으로 웹사이트를 불러서 데이터를 추출하고 저장하는 복잡한 코드가 필요할거 같았는데..........

쓰여진 문법은 변수 저장... 끽해야 for문..... 그리고 다 함수 호출이 전부....

 

느낀점 프레임워크를 사용하면 직접 코드를 짤 필요없이 함수 호출 만으로 간단히 만들수 있다!!!

프레임워크 라이브러리를 많이 써봐야 할것 같다.

다음으로 만들어 보고 싶은 것은 자동으로 다수에게 이메일을 전송 하는 코드를 짜보자.

오늘 크롤링이 이루어 지는 것을 상상하다 이것도 되겠다 싶은 생각이 들었다. 함 해보자.

나에겐 구글이 있다!

블로그 이미지

JustDoIt_Sun

,

isalpha함수는 문자열이 문자인지 아닌지를 True,False로 리턴해주고, 
isdigit함수는 문자열이 숫자인지 아닌지를 True,False로 리턴해줍니다.

a ='aaaaaaa'
b = '111111'
print(a.isalpha())
print(b.isalpha())
print(a.isdigit())
print(b.isdigit())

실행값
True
False
False
True

'Python > 점프 투 파이썬' 카테고리의 다른 글

클래스 정의 및 인스턴스 생성  (0) 2020.12.26
Class ?? instance?? 객체??  (0) 2020.12.26
블로그 이미지

JustDoIt_Sun

,

Human이라는 class 생성하고 내용은 아무것도 없다.

1. class Human 생성 --> class Human:

2. 내용은 아무것도 없다. --> pass '내용이 없다' 라고 파이썬 언어로 pass

 

class Human:
    pass

@인스턴스 생성

Human이라는 class 생성하고, 이를 areum 이라는 객체로 만들자.

1. Human이라는 class 생성하고 --> class Human:

2.이를 areum 이라는 객체로 만들자. --> areum = Human()

class Human:
	pass
areum = Human()

 

'Python > 점프 투 파이썬' 카테고리의 다른 글

isalpha, isdigit  (0) 2020.12.29
Class ?? instance?? 객체??  (0) 2020.12.26
블로그 이미지

JustDoIt_Sun

,

Class, 객체 , 인스턴스란 무엇인가???

 

클라스 =  붕어빵틀, 설계도, 또는 형식과 같은 느낌

 

형식이란 말은 예를 들면, 우리가 Health form을 작성할 때 

그 form에는 이름, 나이, 성별, 주소, 과거 병력, 키, 몸무게 등등 작성해야 하는 칸이 있고 그 빈칸을 채워야 한다.

아직 작성하기 전의 그 form, 음 한국말로 표???가 class 느낌이다.

 

객체 =  instance 

 

인스턴스의 한국말이 객체 이다. 

객체는 클라스에 내용들을 채워 넣어놓고 그 이름을 선언 하면 그것이 객체이다.

예를 들면, 내가 health form을 다 작성하면 그것은 나, 즉 Sun's health form 이다. 

이것이 health form 이라는 클라스에서 Sun's health form 이라는 객체로 변신된 것이다.

 

 

 

'Python > 점프 투 파이썬' 카테고리의 다른 글

isalpha, isdigit  (0) 2020.12.29
클래스 정의 및 인스턴스 생성  (0) 2020.12.26
블로그 이미지

JustDoIt_Sun

,

format test

블로그 이미지

JustDoIt_Sun

,