Python_문법뽀개기 01

5w31892p·2022년 11월 14일
0

Python

목록 보기
1/2

📜 Python

✍ 파이썬 문법뽀개기

:: 변수 선언과 자료형

변수 : 메모리에 올려져 있는 값, 값을 담는 박스

변수명 = 값

1. 숫자형

  1. 사칙연산
  2. 제곱 **
  3. 나눗셈의 나머지 %

2. bool

true / false

3. 숫자 평균 구하기

a = 24
b = 16
c = 26

print(a+b+c)
print((a+b+c)/3)

:: 문자열

숫자형 + 문자열 = error

1. 숫자를 문자열로

'숫자' or str(숫자)

2. len() : 문자열 길이 구하기

txt = 'abcd'
result = len(txt)
print(result)
or
print(len(txt))

3. .split() : 문자열 나누기

a= 'asfasdf@naver.com'
print(a.split('@')[1].split('.')[0])

4. .replace() : 다른 문자로 바꾸기

# .replace(변경할문자열, 변경될문자열)

a= '서울시/영등포구/당산동'
print(a.replace('/', ' > '))

5. 인덱싱 : 문자열 일부 따로 떼이 부르기

a = 'abcdefghijk'
print(a[5]) # f

6. 슬라이싱 : 문자열 일부 잘라내기

[ : ] 문자열 전체

a = 'abcdefghijk'
print(a[:4]) # abcd
print(a[5:10]) #fghij
# 문자열 앞의 반만 출력 (sparta의 spa만 출력)
a = "sparta"
result = a[:3]
print(result)

# 전화번호 지역번호 출력
phone = "02-123-1234"
result = phone.split('-')[0]
print(result)

:: 리스트 & 딕셔너리

1. 리스트

순서가 중요

a = ['사과', '배', '감', [1, False]]

print(a[3][1]) #False
  • .append() : 값 덧붙이기
a = [1,3,5,7,9]
a.append(32)
print(a) #[1,3,5,7,9,32]
  • 길이구하기
a = [1,3,5,7,9]
result = len(a)
print(result)
  • 문자열 자르기
a = [1,3,5,7,9]
result = a[:3]
print(result)
  • .sort() : 정렬하기
a = [1,5,3,2,9]
a.sort() # 오름차순
print(a) # [1, 2, 3, 5, 9]
a.sort(reverse=True) # 내림차순
print(a) # [9, 5, 3, 2, 1]
  • 요소 리스트에 있는지 확인
a = [1,5,3,'4']
print(1 in a) # True
print(4 in a) # False
print('4' in a) # True

2. 딕셔너리

순서없음 ∴ 인덱싱 안됨
key : value
value 값은 아무 자료형이나 다 가능

a = {'name':'bob', 'age':30}
print(a[0]) # 0이라는 key없으므로 error / key를 적어줘야함
print(a['name']) # bob
  • value 값 바꾸기
a = {'name':'bob', 'age':30}
a['name'] = "tom"
print(a) # {'name': 'tom', 'age': 30}
  • 새로운 key : value 추가
a = {'name':'bob', 'age':30}
a['height'] = 189
print(a) # {'name': 'bob', 'age': 30, 'height': 189}
  • 딕셔너리 안에 리스트
a = {'name':'bob', 'age':30, 'friend':['영희','철수']}
result = a['friend'][0]
print(result) # 영희
  • value가 딕셔너리
a = {'name':'bob', 'age':30, "scores": {"math": 81, "science": 92, "Korean": 84}}
result = a['scores']['math']
print(result) # 81
  • 해당 key 존재 유무 확인하고 싶을 때
a = {'name':'bob', 'age':30, 'friend':['영희','철수']}

print('name' in a) # True
print('height' in a) # False
  • 리스트와 딕셔너리의 조합
a = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38}
]
print(a[1]) # {'name': 'carry', 'age': 38}
print(a[0]['name'])  # bob
print(a[1]['age'])  # 38

a[1]['height'] = 180
a[0]['name'] = 'tom'
print(a)  # [{'name': 'tom', 'age': 20}, {'name': 'carry', 'age': 38, 'height': 180}]
  • smith의 science 점수
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)

:: 조건문

1. if else

money = 5000

if money > 3000 :
    print('택시를 타자!')
else:
    print('택시를 못타~')

2. elif

다양한 조건 판단시 사용

a = ['phone', 'key']
card = True

if 'money' in a:
    print('택시 타라')
elif card:
    print('카드로 택시 타라')
else:
    print('걸어가')
    
    
money = 2000

if money > 3000:
    print('택시 고고')
elif money > 1200:
    print('버스 고고')
else:
    print('걸어가야지 뭐..')

:: 반복문

1. for

fruits = ['사과', '배', '감', '귤']

for fruit in fruits:
    print(fruit)
  • 20살보다 나이 많은 사람
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 a in people:
    name = a['name']
    age = a['age']
    if age > 20:
        print(name)

2. enumerate() : 요소의 순서 매기기

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 i, a in enumerate(people): # 요소의 순서
    name = a['name']
    age = a['age']
    print(i, name, age) # 0 bob 20, ...

3. break : 출력하고 싶은 만큼만

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 i, a in enumerate(people):  # 요소의 순서
    name = a['name']
    age = a['age']
    print(i, name, age)  # 0 bob 20, ...
    if i > 3:  ## i == 4와 같은 말
        break

4. 반복문 예제

  • 짝수만
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]

for num in num_list:
    if num % 2 == 0:
        print(num)
  • 짝수의 갯수
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 # count = count + 1

print(count)
  • 모든 숫자 더하기
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
sum = 0
for num in num_list:
        sum+= num

print(sum)
print(sum(num_list))
  • 자연수 중 가장 큰 수 구하기
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이 클 때
        max = num # max를 num으로 바꿔라

print(max)

:: 함수

반복적으로 사용하는 코드에 이름 붙여놓은 것

def hello():
    print("안녕!")
    print("날씨 좋다~")
hello()
# return 함수 내부에 만들어낸 실제값 반환

def sum(a,b):
    return a+b # 뒤에 있는 값으로 넣어서 변신!

result = sum(1,2)
print(result) # 3
def bus(age):
    if age > 65:
        print('무료입니다.')
    elif age > 20:
        print('성인입니다.')
    else:
        print('청소년입니다.')

bus(27) # 성인입니다.
bus(70) # 무료입니다.
bus(17) # 청소년입니다.
def bus(age):
    if age > 65:
        return 0
    elif age > 20:
        return 1200
    else:
        return 900

rate = bus(55) #1200
print(rate)
# 주민등록번호로 성별 출력

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

check_gender('230101-1234567') # 남성
check_gender('230101-2234567') # 여성
check_gender('230101-3234567') # 남성
check_gender('230101-4234567') # 여성

0개의 댓글