1. 변수 선언과 자료형
사람 : 변수는 값을 담는 상자. (쉽게 생각)
컴퓨터 : 값이 담긴 위치를 가리킨다. 메모리에 올려져 있다. (유식하게 생각)
값에는 여러가지 종류가 들어갈 수 있다. (정수, 실수, 문자열, 참/거짓 형...)
a = 3
b = 2
print(a+b) # 5
print(a ** b) # a의 b제곱
print(a%b) # 나머지
a = (3 > 2)
print(a) # True
a = (3 == 2)
print(a) # False
2. 문자열 다루기
first_name = 'dayoung'
last_name = 'lee'
print(first_name + last_name) # dayounglee
a = 2
b = 'a'
print(b) # a
# 따옴표 붙으면 무조건 문자열 a
a = '2'
b = 'hello'
print(a + b) # 2hello
a = 2
b = 'hello'
print(a + b) # error : 숫자와 문자를 더할 수 없다
a = str(2) # 문자열 string으로 형변환
b = 'hello'
print(a + b) # 2hello
text = 'abcdefghijk'
result = len(text) # 11
result = text[:3] # abc
result = text[3:] # defghijk
print(result)
myemail = "abc@sparta.co"
result = myemail.split(@)[1].split('.')[0]
print(result) #sparta
코딩은 시험이 아님.
대략 범위를 잡고 print.
아닌 것 같으면 고쳐서 돌리기.
Quiz. sparta에서 spa만 출력해 보기
나의 답안
sparta = 'sparta'
print(sparta.split('r')[0])
정답
sparta = 'sparta'
print(sparta[:3])
나의 생각
r이 나올 때까지 문자열 탐색하는 것보다 앞의 3개만 자르는 게 더 빠를 수도 있다고 생각함
Quiz. 전화번호의 지역번호를 출력해 보기
나의 답안
phone = '02-123-1234'
print(phone.split('-')[0])
정답
phone = '02-123-1234'
result = phone.split('-')[0]
print(result)
나의 생각
result라는 변수에 담으면 결과가 뭔지 직관적으로 이해 가능
3. 리스트와 딕셔너리
list 리스트
리스트에는 숫자 문자 자료형 리스트 전부 담을 수 있다.
a_list = ['사과', '배', '감']
print(a_list[0]) # 사과
a_list = ['사과', ['배', '감']]
print(a_list[1][1]) # 감
a_list.append(99)
print(a_list[2]) # 99
print(a_list[:1]) # ['사과', ['배', '감']]
print(a_list[-1]) # 맨 마지막 친구가 출력 99
print(len(a_list)) # 3
a_list = [3, 2, 1, 4]
print(a_list.sort()) # 오름차순 정렬 [1,2,3,4]
print(a_list.sort(reverse=True)) # 내림차순 정렬 [4,3,2,1]
print(5 in a_list) # 존재확인 False
print(1 in a_list) # 존재확인 True
dictionary 딕셔너리
순서가 없다.
a_dict = {'name' : "dayoung", 'age' : 29, 'friend':['호상','은한']}
result = a_dict['age'] #29
result = a_dict['friend'][0] #호상
a_dict['height'] = 165 # a_dict에 삽입
print(result)
print('height' in a_dict) # 존재 확인 True
리스트 안에 딕셔너리
pepople = [
{'name' : "dayoung", 'age' : 29},
{'name' : "john", 'age' : 30}
]
print(pepople[1]['age']) #30
Quiz. 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}}
]
print(people[2]['score']['science'])
4. 조건문
내용물이 되려면 Tab으로 들여쓰기 해서 Depth를 맞춰 줘야 함.
money = 5000
if money > 5000:
print("택시를 타자")
elif money < 5000:
print("택시를 못 타")
print("그럼 뭘 타지?")
else:
print("고민해 볼까?")
print("밥도 먹어야 해")
5. 반복문
fruits = ['사과', '배', '감', '귤']
for fruit in fruits:
print(fruit)
Quiz. 나이가 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 person in people:
if person['age']>20:
print(person)
enumerate : 순서(index) 부여하기
break : 멈추기
for i, fruit in enumerate(fruits):
print(i, fruit)
if i == 4:
break
Quiz. 리스트에서 짝수만 출력하는 함수 만들기
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
def odd_printer(num_list):
for num in num_list:
if num % 2 == 0:
print(num)
odd_printer(num_list)
Quiz. 리스트에서 짝수의 개수를 출력하기
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
def odd_sum(num_list):
count = 0
for num in num_list:
if num % 2 == 0:
count = count + 1
print(count)
odd_sum(num_list)
Quiz. 리스트 안에 있는 모든 숫자 더하기
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
def add_all(num_list):
sum = 0
for num in num_list:
sum = sum + num
print(sum)
add_all(num_list)
Quiz. 리스트 안에 있는 자연수 중 가장 큰 숫자 구하기
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
def biggest_num_printer(num_list):
num_list.sort(reverse=True)
print(num_list[0])
biggest_num_printer(num_list)
TypeError: 'NoneType' object is not subscriptable sort
sort 함수는 원래 list의 순서를 바꾸고 아무것도 return 하지 않기 때문에 변수에 담길 수 없다.
6. 함수
def bus_fee(age):
if age > 65:
return 0
elif age > 20:
return 1200
else:
return 0
money = bus_fee(28)
print(money)
Quiz. 주민등록번호를 입력받아 성별을 출력하는 함수 만들기
id = "950717-2034567"
def gender_printer(id):
if id.split("-")[1][0] == "2" or (id.split("-")[1][0] == "4"):
print("여자입니다.")
elif id.split("-")[1][0] == "1" or (id.split("-")[1][0] == "3"):
print("남자입니다.")
else:
print("성별을 판단할 수 없습니다.")
gender_printer(id)
참고 강의 : 스파르타 코딩클럽 - 파이썬 문법 뽀개기
'학습 내용 정리 > python' 카테고리의 다른 글
파이썬 문법 뽀개기 : 심화 (0) | 2024.07.19 |
---|---|
PULL methods 미스테리 3 : 해결완료 (0) | 2023.05.22 |
PULL Methods 미스테리 2 (0) | 2023.05.22 |
PULL methods 미스테리 (0) | 2023.05.21 |
Python DB 기초 : 스파르타 코딩클럽 웹개발 종합반 3주차 (1) | 2023.04.28 |