<2주차 Python 과제>
✔️ pyhon 함수를 작성해보면서 자주 쓰이는 문법 패턴을 익힌다
✔️ python에서 리스트, 튜플, 딕셔너리의 개념에 대해서 익힌다
✔️ 각각의 method를 익힌다
- 파이썬에서 가변객체와 불변객체는 무엇이며, 어떠한 자료형이 있는지 공부한다.
& 객체(Object)란?
어떠한 속성값과 행동을 가지고 있는 데이터. 상태는 value, 행동은 method.
이러한 프로그래밍 기법을 '객체지향 프로그래밍'이라고 함. 즉 실제 벌어진 일들에 대해서 다양한 정보를 가진 객체로 표현하고 그 객체들간의 통신으로 문제를 해결해나가는 기법. 파이썬은 객체로 이뤄져 있으며 객체지향 프로그래밍이 가능하게 하는 언어이기도하다.
& 가변 객체와 불변 객체는 무엇인가?
가변 객체 | 불변 객체 |
---|---|
객체에 할당 값 수정 | 객체에 할당 값 수정 안 됨 |
list, set, dict | int, float, bool, tuple, string, unicode |
즉 값을 수정할 수 있는지, 없는지에 따라 가변, 불변이 나뉘어진다.
- BTS 혹은 레드벨벳의 멤버 정보를 딕셔너리로 구현한다.
가변 객체 중 dict 를 이용하여 레드벨벳 멤버 정보를 딕셔너리로 구현하면 다음과 같다.
def RedVelvet():
RV = dict(Irene=[910329,"Leader", "Rapper"], Seulgi=[940210, "Main_vocal, ""Main_dancer"], Wendy=[940221, "Main_vocal"], Joy=[960903, "Sub_vocal"], Yeri=[990305, "Sub_rapper"])
print(RV)
RedVelvet()
실습은 value로 숫자, 문자, 그리고 리스트까지 들어갈 수 있는 것을 확인할 수 있게 구현하였다.
- 스트링, 리스트, 딕셔너리를 반복문으로 돌면서 인자를 출력하는 함수를 작성해보세요.
from __future__ import print_function
A = "Wecode"
B = [1, 2, 3, 4, 5, 6, 7]
C = {'Irene' : 'Leader', 'Seulgi' : 'Dancer', 'Wendy' : 'Vocal', 'Joy':'Sub_vocal', 'Yeri': 'Sub_rapper'}
def sld():
for i in A:
print(i, end = "")
for j in B:
print(j, end = "")
for k, v in C.items():
print(k, v, end = "")
print(sld())
먼저 필요한 함수를 선언한다. 이후 문자열, 리스트, 딕셔너리를 변수로 구현한 뒤 for 반복문으로 설정한 뒤 마지막에 print로 함수를 출력했다. 이 때 딕셔너리는 기본적으로 키만 분류되어 출력되지만 for ~items()를 사용하면 value도 함께 나온다. 가독성을 위해 가로 정렬을 시켰고 end = "" 구문을 사용했다.
from __future__ import print_function
- for in 반복문을 작성해보고, break, continue의 쓰임새도 알아보세요.
n = int(input())
for i in range(n):
if i % 3 == 0:
continue
if i == n:
break
print(i)
사용자 입력 값에 따라 작동하는 코드로, 3의 배수일 때 continue하고 n값이 되었을 때 break하는 for 반복문을 구현하였다. 여기서 continue는 그 조건이 나왔을 때 지나치는 것이고 break는 그 조건이 나오면 반복문을 멈춘다. 여기서 그 조건들을 주기 위해 if 조건문을 사용했다.
- if와 else를 이용해 조건문을 작성해보세요.
word = raw_input()
if list(word) == list(reversed(word)):
print("palindrome")
else:
print("Nomal_Word")
사용자 입력 값에 따라 회문인지 아닌지를 if, else로 판별하는 식이다. 먼저 if, else통해 회문인지 아닌지를 판별했고, 판별하는 기준은 문자열이 시퀀스형이라는 것을 착안, list로 해서 요소를 판별했을 때 reversed로 요소를 뒤집어 정렬했을 때와 같은지를 본다. 회문은 중간을 기점으로 앞 뒤의 문자열이 같은 것을 말하는데 이 구문으로 회문을 판별할 수 있다.
- list method 중 append, pop, sort을 활용한 함수를 작성해보세요.
example = [2, 3, 5, 7, 1]
def plus(x):
example.append(x)
return example
def deleting():
example.pop()
return example
def sorting():
example.sort()
return example
print(deleting())
print(plus(6))
print(sorting())
list method는 다양한 종류가 있는데 append는 list의 요소를 추가하는 것이고, pop는 list의 끝 요소를 삭제하는 것이고, sort는 list를 순서대로 정렬해주는 역할을 한다. 먼저 리스트를 하나 생성 후, 함수를 3번 선언한다. 이 때 append 조건이 들어간 함수의 경우 1개 요소를 추가하는 것이므로 매개변수와 인자가 들어갈 수 있게 x를 선언한다. 이후 return값을 줘서 함수가 정상적으로 작동할 수 있게 만든 뒤 print한다. print시 plus함수에는 추가하고 싶은 요소(인자)를 넣어준다.