728x90
반응형

https://www.notion.so/dfb89a042c6f4b29b64ea4da03a37ea6#cf5611d0d873436f9983ed3a96268231

[스파르타코딩클럽] 파이썬 문법 뽀개기

 

문자열

 

문자열 길이

text = 'jeonghoon'
result = len(text)
#값은 9

문자열 자르기

text = 'jeonghoon'
result = text[0:5]
#결과는 jeong

문자열 나누기

myemail = 'abc@sparta.co'
result = myemail.spit('@')[1].split('.')[0]
#답은 sparta

 

리스트와 딕셔너리

 

리스트는 순서가 중요하게 값을 담음

딕셔너리는 key와 value가 중요함

 

리스트 추가

a_list = [1,2,3,4,5]
a_list.append(99)

 

리스트 정렬

a_list = [1,5,3,7,9]
a_list.sort()

리스트 확인

a_list = [1,5,6,3,2]
result = ( 5 in a_list )
#들어있다면 true, 없다면 false

 

딕셔너리 형태

a_dict = {'name':'bob', 'age':27, 'friend' : ['영희','철수']}
a_dict['height'] = 180
result = ('height' in a_dict)

퀴즈 스미스의 과학 점수를 가져오기

people = [
    {'name': 'bob', 'age': 20, 'score':{'math':90,'science':70}},
    {'name': 'carry', 'age': 38, 'score':{'math':40,'science':72}},
    {'name': 'smith', 'age': 28, 'score':{'math':80,'science':90}},
    {'name': 'john', 'age': 34, 'score':{'math':75,'science':100}}
]
result = people[2]['score']['science']
print (result)

 

조건문, 반복문

money = 3000

if money > 3800:
	print('택시를 타자!')
elif money > 1200:
	print('버스를 타자!')
else:
	print('걸어가자!')

기초 반복문

fruits = ['사과', '배', '감']
for fruit in fruits:
    print(fruit)

 

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for person in people:
    name = person['name']
    age = person['age']
    print (name, age)

짝수 갯수세기

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]

count = 0

for num in num_list:
    if (num % 2 == 0):
        count+= 1

print(count)

가장 큰 수 구하기

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]

max = 0

for num in num_list:
    if max < num:
        max = num

print (max)

함수

주민번호를 입력받아 남여 판별하는 함수

def check_gender(pin):
    num = pin.split('-')[1][:1]
    if int(num) % 2 == 1 :
        print('남자')
    if int(num) % 2 == 0 :
        print('여자')

check_gender('991111-1234567')
check_gender('991111-2234567')

 

튜플(순서가 있고, 불변형)

a = (1,2,3)
print(a[0])

#아래와 같이 변형 불가능
a = (1,2,3)
a[0] = 99

집합( set( ) , 중복을 제거해줌 )

a = [1,1,2,3,3,3,4,4,5,5]
a_set = set(a)

#출력값 {1,2,3,4,5}
student_a = ['물리2','국어','수학1','음악','화학1','화학2','체육']
student_b = ['물리1','수학1','미술','화학2','체육']

a_set = set(student_a)
b_set = set(student_b)

print (a_set & b_set) #교집함
print (a_set | b_set) #합집합
print (a_set - b_set) #차집합

f-string (f'{name}')

scores = [
    {'name':'영수','score':70},
    {'name':'영희','score':65},
    {'name':'기찬','score':75},
    {'name':'희수','score':23},
    {'name':'서경','score':99},
    {'name':'미주','score':100},
    {'name':'병태','score':32}    
]

for s in scores:
    name = s['name']
    score = s['score']
    print (name+'의 점수는 '+str(score)+'점입니다')
    print(f'{name}의 점수는 {score}점입니다.')

try-except 예제

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby'},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for person in people:
    try:
        if person['age'] > 20:
            print(person['name'])
    except:
        print(person['name'], '에러입니다')

 

파일 불러오기

from main_func import *

say_hi()
say_hi_to('영수')
def say_hi():
    print('안녕!')

def say_hi_to(name):
    print(f'{name}님 안녕하세요')

if문 삼항연산자

num = 3
result = ('짝수' if num % 2 == 0 else '홀수')
print(f'{num}은 {result}입니다.')

반복문

a_list = [1,2,2,5,1,2]
b_list = [a*2 for a in a_list]
print(b_list)

 

map, filter, lamda식

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

def check_adult(person):
    return ('성인' if person['age'] > 20 else '청소년')

#맵
result = map(check_adult, people)

#람다
result = map(lambda person: ('성인' if person['age']>20 else '청소년'), people)

#필터
result = filter(lambda person: person['age']>20, people)

print(list(result))

클래스

class Monster():
    hp = 100
    alive = True

    def damge(self, attack):
        self.hp = self.hp - attack
        if self.hp < 0 :
            self.alive = False

    def status_check(self):
        if self.alive:
            print('살았다')
        else:
            print('죽었다')

m1 = Monster()
m1.damge(120)
m1.status_check()

m2 = Monster()
m2.damge(90)
m2.status_check()

 

728x90
반응형

'코딩공부 > 파이썬' 카테고리의 다른 글

파이썬 코딩 무료강의 (조코딩)  (0) 2022.11.16
[3] 팬사이트(팬명록) 만들기 퀴즈  (0) 2022.10.26
[2] 영화 감상평 사이트  (0) 2022.10.26
[1] 화성땅 공동구매 프로젝트  (0) 2022.10.26
monggoDB 기초  (0) 2022.10.23
728x90
반응형

1주차에는 HTML , CSS , Javascript
2주차에 JQuery, Ajax

3주차 파이썬, MonggoDB

 

지금까지 프론트앤드 눈 앞에 보이는 것만 배웠었는데

드디어 백앤드 서버단을 시작했다.

 

내일배움캠프 시작전에도 프론트앤드

눈앞에 보이는 것을 만드는 작업만 했는데,

화면에 안보이지만 뒤에서 데이터를 정리해보니

이것도 나름의 재미가 있는 것 같다.

 

3주차 개인적인 후기

 

3주차만에 여러가지 언어를 배우다보니

다 배울 수 있을까 걱정이 많았다.

 

그러나 생각보다 비슷한 문법이기에

이해하는데 어렵지는 않았다.

 

다만 비슷하면서 다른 문법이기에

계속 반복하여 코드를 작성하여 익숙해지는 방법밖에는 없을 것 같다.

 

728x90
반응형
728x90
반응형

Requests

import requests # requests 라이브러리 설치 필요

r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair')
rjson = r.json()

rows = rjson['RealtimeCityAir']['row']

for row in rows:
    gu_name = row['MSRSTE_NM']
    gu_mise = row['IDEX_MVL']
    if gu_mise < 60:
        print(gu_name)

Requests + bs4 조합 기본코드

 

import requests
from bs4 import BeautifulSoup

headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829',headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')

print (soup)

크롤링 예제1

import requests
from bs4 import BeautifulSoup

headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829',headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')

#old_content > table > tbody > tr:nth-child(2) > td.title > div > a

movies = soup.select('#old_content > table > tbody > tr')

for moive in movies:
    a = moive.select_one('td.title > div > a')
    if a is not None:
        print(a.text)

크롤링 예제2

import requests
from bs4 import BeautifulSoup

headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829',headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')

#old_content > table > tbody > tr:nth-child(2) > td.title > div > a

#old_content > table > tbody > tr:nth-child(2) > td:nth-child(1) > img
#old_content > table > tbody > tr:nth-child(3) > td:nth-child(1) > img

#old_content > table > tbody > tr:nth-child(2) > td.point
#old_content > table > tbody > tr:nth-child(9) > td.point

movies = soup.select('#old_content > table > tbody > tr')

for moive in movies:
    a = moive.select_one('td.title > div > a')

    if a is not None:
        title = a.text
        rank = moive.select_one('td:nth-child(1) > img')['alt']
        star = moive.select_one('td.point').text
        print(rank, title, star)
728x90
반응형

'코딩공부 > 파이썬' 카테고리의 다른 글

[3] 팬사이트(팬명록) 만들기 퀴즈  (0) 2022.10.26
[2] 영화 감상평 사이트  (0) 2022.10.26
[1] 화성땅 공동구매 프로젝트  (0) 2022.10.26
monggoDB 기초  (0) 2022.10.23
파이썬 함수  (0) 2022.10.23
728x90
반응형

함수

def sum(a,b) :
    print('더하자!')
    return a+b

result = sum(1,2)
print(result)

조건문

def is_adult(age):
    if age > 20:
        print('성인입니다')
    else:
        print('청소년입니다')

is_adult(15)

반복문 (리스트예제)

fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']

count = 0
for fruit in fruits:
    if fruit == '사과':
        count += 1

print(count)

반복문 (딕셔너리예제)

people = [{'name': 'bob', 'age': 20}, 
          {'name': 'carry', 'age': 38},
          {'name': 'john', 'age': 7},
          {'name': 'smith', 'age': 17},
          {'name': 'ben', 'age': 27}]

for person in people:
    if person['age'] > 20:
        print(person['name'])
728x90
반응형

+ Recent posts