[python]기초문법6
혼자공부하는 파이썬 28~ 33강
반복문 예제)
1 ~ 100까지의 숫자를 1 * 99, 2 * 98, 3 * 97 과 같이 계산할 경우 최대가 되는 경우는 어떤 숫자를 곱했을 때 인가 ?
max_value = 0
a = 0
b = 0
for i in range(1,99 + 1):
j = 100 - i
#최댓값 구하기
if max_value < i * j:
max_value = i * j
a = i
b = j
print("최대가 되는 경우: {} * {} = {}".format(a, b, max_value))
리스트와 딕셔너리에 적용하는 함수
리스트에 적용할 수 있는 기본 함수 : min(), max(), sum()
max(리스트) 또는 max(숫자,숫자,숫자, …)
sum()은 반드시 리스트가 들어가야함.
print(min([273,52,34,57,103]))
print(max([273,52,34,57,103]))
#[ ]를 빼도 상관없음
리스트 뒤집기: reversed()
a = [0, 1, 2, 3, 4, 5]
reversed_a = reversed(a)
print(reversed_a) # [5, 4, 3, 2, 1, 0]
print(reversed_a) # [] 일회용 함수이기때문
주로 아래의 두 형태로만 사용한다
list(reversed(리스트)) : 리스트 역으로 돌리기
for i in reversed(리스트) : 반복문에 적용하기
현재 인덱스가 몇 번째인지 확인하기 : enumerate()
a = [273, 103, 52, 32, 57]
for(i, element) in enumerate(a):
print("{}번째 요소는 {}입니다.".format(i, element))
주로 아래의 두 형태로만 사용한다
for i, element in enumerate(리스트)
- 딕셔너리로 쉽게 반복문 작성하기 : items()
a = {
"key1" : "value_1",
"key2" : "value_2",
"key3" : "value_3"
}
for key, value in a.items():
print("{}키의 값은 {}입니다.".format(key, value))
주로 아래의 두 형태로만 사용한다
for key, value in 리스트.items()
기본함수 외에 3개 함수는 일회용 함수이다
리스트 내포(List Comprehension)
array = [ i * i for i in range(0, 20, 2)]
print(array) #[0, 4, 16, 36, 64, 100, 144, 196, 256, 324]
사용 예시 (예시를 보고 감을 익힐 것)
array_1 = [i for i in range(10)]
array_2 = [i for i in range(0, 10, 2)]
array_3 = [1 for i in range(10)]
print(array_1)#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(array_2)#[0, 2, 4, 6, 8]
print(array_3)#[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
예제)
1 ~100까지를 2진수로 나타냈을 때, 0이 하나만 포함된 숫자의 합 구하기
output = 0
for i in range(1, 100 +1):
if "{:b}".format(i).count("0") == 1:
print("{} : {:b}".format(i , i))
output += i
print("합계: {}".format(output))
#리스트 내포를 사용한 풀이
output = [i for i in range(1, 100 + 1) if "{:b}".format(i).count("0")==1]
print(output)
print("합계: {}".format(sum(output)))
함수 기본
함수 선언
def 함수이름(매개변수): 함수 호출 시 실행할 코드 return 반환할 값
함수 호출
함수이름(인자)
함수 예제)
def print_n_times(value,n):
for i in range(n):
print(value)
print_n_times("hello world!", 5)
#출력
hello world
hello world
hello world
hello world
hello world
가변 매개변수와 기본 매개변수
가변매개변수
def 함수이름(매개변수1,매개변수2,*가변매개변수):
print(매개변수1)
print(매개변수2)
print(가변매개변수)
함수이름(0,1,2,3,4,5,6,7,8,9)
=>출력 :0
1
(2, 3, 4, 5, 6, 7, 8, 9)
가변매개변수는 함수당 하나만 사용가능하고, 제일 마지막 위치에만 사용 가능하다.
기본매개변수
def print_n_times(value,n=5):
for i in range(n):
print(value)
print_n_times("안녕하세요")
기본매개변수도 제일 마지막 위치에만 사용가능하다.
매개변수 정리
일반 매개변수 - 가변 매개변수 - 기본 매개변수 순서로 매개 변수를 선언한다
def function(일반매개변수A, 일반매개변수B, *가변매개변수, 기본매개변수A=10,기본매개변수B=20):
print(일반매개변수A,일반매개변수B)
print(가변매개변수)
print(기본매개변수A,기본매개변수B)
function(0,1,2,3,4,5,6,7,8,9,10)
출력 : 0 1
(2, 3, 4, 5, 6, 7, 8, 9, 10)
10 20
function(0,1,2,3,4,5,6,7,8,9,10,기본매개변수A=11,기본매개변수B=12) #기본매개변수를 호출 시 지정할 수도있음
Leave a comment