본문 바로가기

Python/Python Programming

파이썬 기초 재 복습 (자료형, for, while, if, list comprehension, 함수)

자료형

  • 자료형
  • 저장되는 데이터의 형태
a = 1
b = 0.1
c = 'hello'
print(type(a))
print(type(b))
print(type(c))
<class 'int'>
<class 'float'>
<class 'str'>

 

 

1)  숫자형

 

int

정수의 형태

a = 1
print(type(a))

>>> <class 'int'>

b = 0
print(type(b))

>>> <class 'int'>

c = -1
print(type(c))

>>> <class 'int'>

 

float

실수의 형태

a = 1.1
print(type(a))

>>> <class 'float'>

b = 0.0
print(type(b))

>>> <class 'float'>

c = -1.1
print(type(c))

>>> <class 'float'>

d = 1.
print(type(d))

>>> <class 'float'>

 

 

int 와 float 의 연산 결과는 int 일까, float 일까?

a = 1
b = 1.0

print(type(a))
print(type(b))

>>> <class 'int'>
>>> <class 'float'>
print(type(a + b))

>>> <class 'float'>

 

 

연산

더하기

a = 10
b = 2

a + b

>>> 12

 

빼기

a = 10
b = 2

a - b

>>> 8

 

곱하기

a = 10
b = 2

a * b

>>> 20

 

나누기

a = 10
b = 2

a / b

>>> 5.0

 

a = 10
b = 3

a // b

>>> 3

 

나머지

a = 10
b = 3

a % b

>>> 1

 

제곱

a = 10
b = 3

a ** b

>>> 1000

 

 

할당연산

변수 a 는 1 이다. 해당 변수 a 에 1을 더하여라.

a = 1
a = a + 1
print(a)

>>> 2

 

할당연산을 사용한 방법

a = 1
a += 1
print(a)

>>> 2

 

빼기

a = 1
a -= 1
print(a)

>>> 0

 

곱하기

a = 2
a *= 2
print(a)

>>> 4

 

나누기

a = 1
a /= 2
print(a)

>>> 0.5

 

 

2) 문자형

 

문자형을 만들기 위해서는 문자를 따옴표(') 쌍 따옴표(") 로 감싸준다.

a = 'hello'
a = "hello"

 

인덱스

인덱스는 [ ]를 통해 지정해 줄 수 있으며, 0부터 시작합니다.

a = 'hellow world'

 

변수 a 의 첫 번째 문자를 출력하시오.

print(a[0])

>>> h

 

변수 a 의 마지막 문자를 출력하시오.

print(a[-1])

>>> d

 

슬라이스

범위를 지정하여 원하는 부분만을 얻을 수 있습니다.

a = 'hellow world'

 

변수 a 전체를 출력하시오.

print(a)
>>> hellow world

or

print(a[:])
>>> hellow world

 

변수 a의 6 ~ 8 번째 문자를 출력하시오.

print(a[5:8])

>>> w w

 

변수 a의 처음 ~ 5번째 문자를 출력하시오.

print(a[:5])

>>>> hello

 

변수 a의 뒤에서부터 5번째 ~ 마지막 문자를 출력하시오.

print(a[-5:])

>>> world

 

변수 a의 처음 ~ 뒤에서부터 -5번째 문자를 출력하시오.

print(a[:-4])

>>> hellow w

 

 

문자열의 합

a = 'hellow'
b = 'world'
print(a + b)

>>> hellowworld

 

 

문자열의 곱

a = 'hellow'
print(a * 3)

>>> hellowhellowhellow

 

문자형과 숫자형의 혼용

문제 : 변수(숫자)를 넣어 'My number is (변수)' 를 출력하시오.

 

방법 1

a = 'My number is '
b = 1
print(a, b)

>>> My number is  1

 

방법 2

a = 'My number is '
b = 1

print(a + b)

>>>---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-52-0ae8b1612688> in <module>()
----> 1 print(a + b)

TypeError: can only concatenate str (not "int") to str

문자형과 숫자형을 더해주기 위해서는 숫자형을 문자형으로 바꾸어 주어야만 한다.

print(a + str(b))

>>> My number is 1

 

방법 3

print('My number is {}'.format(b))
>>> My number is 1

 

두 개 이상의 값 넣기

print('오늘은 {}월 {}일 입니다.'.format(5, 10))

>>> 오늘은 5월 10일 입니다.

 

이름을 통한 값 넣기

print('오늘은 {month}월 {day}일 입니다. {month}월은 가정의 달입니다.'.format(month = 5, day = 10))

>>> 오늘은 5월 10일 입니다. 5월은 가정의 달입니다.
a = '오늘은 {month}월 {day}일 입니다. {month}월은 가정의 달입니다.'.format(month = 5, day = 10)
print(a)

>>> 오늘은 5월 10일 입니다. 5월은 가정의 달입니다.

 

 

 

문자열 분해

'hello world' 를 'hello'와 'world'로 분리하시오.

a = 'hello world'
a.split()

>>> ['hello', 'world']

 

'I am a boy' 를 각 단어를 기준으로 분리하시오.

a = 'I am a boy'
a.split()

>>> ['I', 'am', 'a', 'boy']

 

'I.am.a.boy' 를 '.'를 기준으로 분리하시오.

a = 'I.am.a.boy'
a.split()

>>> ['I.am.a.boy']
a.split('.')

>>> ['I', 'am', 'a', 'boy']

 

 

3) 리스트

배열의 필요성

영희는 주사위를 여섯번 던져 1, 3, 5, 5, 2, 4 가 나왔다. 이 결과를 변수를 이용하여 저장하여라.

a1 = 1
a2 = 3
a3 = 5
a4 = 5
a5 = 2
a6 = 4

리스트를 사용하면 아래와 같이 쉽게 만들수 있다.

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

>>> [1, 3, 5, 5, 2, 4]

print(type(a))

>>> <class 'list'>

 

리스트의 구조 / 인덱스

리스트 내부에 리스트를 포함할 수도 있다.

b = [1, [1, 2], [1, [1, 2]]]

print(b[0])
print(b[1][1])
print(b[2][1][0])

>>> 1
>>> 2
>>> 1

 

 

 

슬라이스

a = [1, [2, 3], [4, [5, 6, 7]]]

print(a[0])
>>> 1

print(a[-1])
>>> [4, [5, 6, 7]]

print(a[1:])
>>> [[2, 3], [4, [5, 6, 7]]]

print(a[2][1][1:])
>>> [6, 7]

 

치환

a = [1, [2, 3], [4, [5, 6, 7]]]

a[0] = 10
print(a)
>>> [10, [2, 3], [4, [5, 6, 7]]]

a[2][1][1:] = [60, 70]
print(a)
>>> [10, [2, 3], [4, [5, 60, 70]]]

a[2][1][1:] = 50 <----- 리스트 구조를 바꾸기 위해선 리스트 구조가 필요함!
print(a)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-70-82b92129e301> in <module>()
----> 1 a[2][1][1:] = 50
      2 print(a)

TypeError: can only assign an iterable
print(a[2][1][1:])
>>> [60, 70]

a[2][1][1:] = [50]
print(a)
>>> [10, [2, 3], [4, [5, 50]]]

 

 

 

리스트 더하기

a = [1, 2, 3]
b = [4, 5, 6]

print(a + b)
>>> [1, 2, 3, 4, 5, 6]

 

 

리스트 곱하기

a = [1, 2, 3]
print(a * 2)
>>> [1, 2, 3, 1, 2, 3]

 

append : Append object to the end of the list.

a = [1, 2, 3]
a.append(4)
print(a)
>>> [1, 2, 3, 4]

a = [1, 2, 3]
a.append([4, 5])
print(a)
>>> [1, 2, 3, [4, 5]]

 

pop

a = [1, 2, 3]
a.pop()
print(a)
>>> [1, 2]

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

 

index

리스트에 속해 있는 x의 위치 값 반환

a = [1, 2, 3]
print(a.index(2))
>>> 1

 

 

4) 튜플

a = (1, 2, 3)
print(type(a))

>>> <class 'tuple'>

 

 

인덱스

print(a[1])
>>> 2

 

 

슬라이스

a = (1, 2, 3)
print(a[:2])
>>> (1, 2)

 

치환하기

a = (1, 2, 3)
a[2] = 0
>>> ---------------------------------------------------------------------------
TypeError (튜플은 치환 불가)!                                Traceback (most recent call last)
<ipython-input-78-28ccb7d83fe9> in <module>()
----> 1 a[2] = 0

TypeError: 'tuple' object does not support item assignment

 

 

튜플 더하기

a = (1, 2, 3)
b = (4, 5, 6)
c = a + b
print(c)
>>> (1, 2, 3, 4, 5, 6)

 

 

튜플 곱하기

a = (1, 2, 3)
b = a * 2
print(b)
>>> (1, 2, 3, 1, 2, 3)

 

5) 딕셔너리

생성방법

딕셔너리(dict)는 Key 와 Value 로 구성

a = {'사자' : 'lion', '호랑이' : 'tiger', '용' : 'dragon'}
print(a)
>>> {'사자': 'lion', '호랑이': 'tiger', '용': 'dragon'}

print(type(a))
>>> <class 'dict'>

 

하나의 Key 에 여러개의 Value 로도 구성이 가능

a = {'car' : ['bus', 'truck', 'taxi'],'train' : 'ktx'}
print(a)

>>> {'car': ['bus', 'truck', 'taxi'], 'train': 'ktx'}

 

key 얻기

a = {'car' : ['bus', 'truck', 'taxi'],'train' : 'ktx'}
key = a.keys()
print(key)
>>> dict_keys(['car', 'train'])

print(type(key))
>>> <class 'dict_keys'>

print(key[0])
>>> ---------------------------------------------------------------------------
TypeError---> key를 형변환을 통해 리스트로 변환해야함   Traceback (most recent call last)
<ipython-input-91-7d4334edd852> in <module>()
----> 1 print(key[0])

TypeError: 'dict_keys' object is not subscriptable

key2 = list(key)
print(type(key2))
>>> <class 'list'>

print(key2[0])
>> car

 

 

 

value 얻기

a = {'car' : ['bus', 'truck', 'taxi'],'train' : 'ktx'}
value = a.values()
print(value)
>>> dict_values([['bus', 'truck', 'taxi'], 'ktx'])

print(type(value)
>>> <class 'dict_values'>

print(value[0])
---------------------------------------------------------------------------
TypeError---> 리스트로 형변환이 필요!                Traceback (most recent call last)
<ipython-input-97-2aed2d19afba> in <module>()
----> 1 print(value[0])

TypeError: 'dict_values' object is not subscriptable


value2 = list(value)
print(type(value2))
>>> <class 'list'>

print(value2[0])
>>> ['bus', 'truck', 'taxi']

 

 

 

요소 추가하기

a = {'car' : ['bus', 'truck', 'taxi'],'train' : 'ktx'}
a['plane'] = 'jet'
print(a)
>>> {'car': ['bus', 'truck', 'taxi'], 'train': 'ktx', 'plane': 'jet'}

 

요소 삭제하기

a = {'car' : ['bus', 'truck', 'taxi'],'train' : 'ktx'}
del a['car']
print(a)
>>> {'train': 'ktx'}

 

6) 셋

생성방법

a = set([1, 2, 3])
print(a)
print(type(a))

>>> {1, 2, 3}
>>> <class 'set'>

a = set((1, 2, 3))
print(a)
>>> {1, 2, 3}

 

중복된 항목을 제거

a = set([1, 1, 2, 3, 3, 4])
print(a)
>>> {1, 2, 3, 4}

 

순서가 없음

a = set([4, 4, 3, 2, 1, 'a', 'b', 'a'])
print(a)
>>> {1, 2, 3, 4, 'b', 'a'}

print(a[0])
---------------------------------------------------------------------------
TypeError -> 셋은 순서가 없다! 리스트로 형변환 필요!      Traceback (most recent call last)
<ipython-input-111-23821ec76b06> in <module>()
----> 1 print(a[0])

TypeError: 'set' object is not subscriptable

b = list(a)
print(b)
>>> [1, 2, 3, 4, 'b', 'a']

print(b[0])
>>> 1

 

합집합

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

c = a.union(b)
print(c)
{1, 2, 3, 4, 5}

교집합

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

c = a.intersection(b)
print(c)
>>> {3}

 

 

차집합

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

c = a.difference(b)
print(c)
>>>> {1, 2}

 

 

4. 제어문

1) 반복문

(1) for

for를 이용한 반복문은 아래와 같이 작성합니다.

for 변수 in 반복 가능한 객체:
    반복하여 실행할 내용

여기서 반복 가능한 객체는 아래와 같은 것들을 뜻합니다.

- list

- range

 

문제 : 1부터 10까지 출력하시오

 

list 를 이용한 해결

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

for i in a:  
    print(i)
더보기
1
2
3
4
5
6
7
8
9
10

 

range 를 이용한 해결

for i in range(11):
     print(i)
더보기
0
1
2
3
4
5
6
7
8
9
10

 

문제 : 1부터 9까지 2씩 증가하면서 출력하시오.

for i in range(1, 10 , 2):
    print(i)
1
3
5
7
9

 

문제 : 9부터 1까지 2씩 감소하면서 출력하시오.

for i in range(9, 0, -2):
    print(i)
9
7
5
3
1

 

문제 : 1부터 10까지의 자연수의 합을 구하시오.

for i in range(1, 11, 1):
    print(i)
result = 0
for i in range(1, 11, 1):
    result = result + i
print(result)
>> 55

result = 0
for i in range(1, 11, 1):
    result += i
print(result)
>> 55

 

문제 : 구구단을 출력하시오.

 

for i in range(2, 10, 1):
    for j in range(1, 10, 1):
        print(i * j)
더보기
2
4
6
8
10
12
14
16
18
3
6
9
12
15
18
21
24
27
4
8
12
16
20
24
28
32
36
5
10
15
20
25
30
35
40
45
6
12
18
24
30
36
42
48
54
7
14
21
28
35
42
49
56
63
8
16
24
32
40
48
56
64
72
9
18
27
36
45
54
63
72
81

 

for i in range(2, 10, 1):
    for j in range(1, 10, 1):
        print('{} 곱하기 {} 은/는 {} 입니다.'.format(i, j, i * j))
더보기
2 곱하기 1 은/는 2 입니다.
2 곱하기 2 은/는 4 입니다.
2 곱하기 3 은/는 6 입니다.
2 곱하기 4 은/는 8 입니다.
2 곱하기 5 은/는 10 입니다.
2 곱하기 6 은/는 12 입니다.
2 곱하기 7 은/는 14 입니다.
2 곱하기 8 은/는 16 입니다.
2 곱하기 9 은/는 18 입니다.
3 곱하기 1 은/는 3 입니다.
3 곱하기 2 은/는 6 입니다.
3 곱하기 3 은/는 9 입니다.
3 곱하기 4 은/는 12 입니다.
3 곱하기 5 은/는 15 입니다.
3 곱하기 6 은/는 18 입니다.
3 곱하기 7 은/는 21 입니다.
3 곱하기 8 은/는 24 입니다.
3 곱하기 9 은/는 27 입니다.
4 곱하기 1 은/는 4 입니다.
4 곱하기 2 은/는 8 입니다.
4 곱하기 3 은/는 12 입니다.
4 곱하기 4 은/는 16 입니다.
4 곱하기 5 은/는 20 입니다.
4 곱하기 6 은/는 24 입니다.
4 곱하기 7 은/는 28 입니다.
4 곱하기 8 은/는 32 입니다.
4 곱하기 9 은/는 36 입니다.
5 곱하기 1 은/는 5 입니다.
5 곱하기 2 은/는 10 입니다.
5 곱하기 3 은/는 15 입니다.
5 곱하기 4 은/는 20 입니다.
5 곱하기 5 은/는 25 입니다.
5 곱하기 6 은/는 30 입니다.
5 곱하기 7 은/는 35 입니다.
5 곱하기 8 은/는 40 입니다.
5 곱하기 9 은/는 45 입니다.
6 곱하기 1 은/는 6 입니다.
6 곱하기 2 은/는 12 입니다.
6 곱하기 3 은/는 18 입니다.
6 곱하기 4 은/는 24 입니다.
6 곱하기 5 은/는 30 입니다.
6 곱하기 6 은/는 36 입니다.
6 곱하기 7 은/는 42 입니다.
6 곱하기 8 은/는 48 입니다.
6 곱하기 9 은/는 54 입니다.
7 곱하기 1 은/는 7 입니다.
7 곱하기 2 은/는 14 입니다.
7 곱하기 3 은/는 21 입니다.
7 곱하기 4 은/는 28 입니다.
7 곱하기 5 은/는 35 입니다.
7 곱하기 6 은/는 42 입니다.
7 곱하기 7 은/는 49 입니다.
7 곱하기 8 은/는 56 입니다.
7 곱하기 9 은/는 63 입니다.
8 곱하기 1 은/는 8 입니다.
8 곱하기 2 은/는 16 입니다.
8 곱하기 3 은/는 24 입니다.
8 곱하기 4 은/는 32 입니다.
8 곱하기 5 은/는 40 입니다.
8 곱하기 6 은/는 48 입니다.
8 곱하기 7 은/는 56 입니다.
8 곱하기 8 은/는 64 입니다.
8 곱하기 9 은/는 72 입니다.
9 곱하기 1 은/는 9 입니다.
9 곱하기 2 은/는 18 입니다.
9 곱하기 3 은/는 27 입니다.
9 곱하기 4 은/는 36 입니다.
9 곱하기 5 은/는 45 입니다.
9 곱하기 6 은/는 54 입니다.
9 곱하기 7 은/는 63 입니다.
9 곱하기 8 은/는 72 입니다.
9 곱하기 9 은/는 81 입니다.

 

 

(2) while

while을 이용한 반복문은 아래와 같이 작성합니다.

while 조건:
    반복하여 실행할 내용

문제 : 1부터 10까지 출력하시오.

i = 1
while i < 11:
    print(i)
    i = i + 1
1
2
3
4
5
6
7
8
9
10

 

문제 : 1부터 9까지 2씩 증가하면서 출력하시오.

i = 1
while i < 10:
    print(i)
    i += 2
1
3
5
7
9

 

문제 : 1부터 10까지의 자연수의 합을 구하시오.

i = 1
result = 0
while i < 11:
    result += i
    i += 1
print(result)
>>> 55

 

문제 : 구구단을 출력하시오

i = 2
while i < 10:
    
    j = 1
    while j < 10:
        print(i * j)
        j += 1

    i += 1
더보기
2
4
6
8
10
12
14
16
18
3
6
9
12
15
18
21
24
27
4
8
12
16
20
24
28
32
36
5
10
15
20
25
30
35
40
45
6
12
18
24
30
36
42
48
54
7
14
21
28
35
42
49
56
63
8
16
24
32
40
48
56
64
72
9
18
27
36
45
54
63
72
81

 

i = 2
while i < 10:
    
    j = 1
    while j < 10:
        print('{} 곱하기 {} 은/는 {} 입니다.'.format(i, j, i * j))
        j += 1

    i += 1
더보기
2 곱하기 1 은/는 2 입니다.
2 곱하기 2 은/는 4 입니다.
2 곱하기 3 은/는 6 입니다.
2 곱하기 4 은/는 8 입니다.
2 곱하기 5 은/는 10 입니다.
2 곱하기 6 은/는 12 입니다.
2 곱하기 7 은/는 14 입니다.
2 곱하기 8 은/는 16 입니다.
2 곱하기 9 은/는 18 입니다.
3 곱하기 1 은/는 3 입니다.
3 곱하기 2 은/는 6 입니다.
3 곱하기 3 은/는 9 입니다.
3 곱하기 4 은/는 12 입니다.
3 곱하기 5 은/는 15 입니다.
3 곱하기 6 은/는 18 입니다.
3 곱하기 7 은/는 21 입니다.
3 곱하기 8 은/는 24 입니다.
3 곱하기 9 은/는 27 입니다.
4 곱하기 1 은/는 4 입니다.
4 곱하기 2 은/는 8 입니다.
4 곱하기 3 은/는 12 입니다.
4 곱하기 4 은/는 16 입니다.
4 곱하기 5 은/는 20 입니다.
4 곱하기 6 은/는 24 입니다.
4 곱하기 7 은/는 28 입니다.
4 곱하기 8 은/는 32 입니다.
4 곱하기 9 은/는 36 입니다.
5 곱하기 1 은/는 5 입니다.
5 곱하기 2 은/는 10 입니다.
5 곱하기 3 은/는 15 입니다.
5 곱하기 4 은/는 20 입니다.
5 곱하기 5 은/는 25 입니다.
5 곱하기 6 은/는 30 입니다.
5 곱하기 7 은/는 35 입니다.
5 곱하기 8 은/는 40 입니다.
5 곱하기 9 은/는 45 입니다.
6 곱하기 1 은/는 6 입니다.
6 곱하기 2 은/는 12 입니다.
6 곱하기 3 은/는 18 입니다.
6 곱하기 4 은/는 24 입니다.
6 곱하기 5 은/는 30 입니다.
6 곱하기 6 은/는 36 입니다.
6 곱하기 7 은/는 42 입니다.
6 곱하기 8 은/는 48 입니다.
6 곱하기 9 은/는 54 입니다.
7 곱하기 1 은/는 7 입니다.
7 곱하기 2 은/는 14 입니다.
7 곱하기 3 은/는 21 입니다.
7 곱하기 4 은/는 28 입니다.
7 곱하기 5 은/는 35 입니다.
7 곱하기 6 은/는 42 입니다.
7 곱하기 7 은/는 49 입니다.
7 곱하기 8 은/는 56 입니다.
7 곱하기 9 은/는 63 입니다.
8 곱하기 1 은/는 8 입니다.
8 곱하기 2 은/는 16 입니다.
8 곱하기 3 은/는 24 입니다.
8 곱하기 4 은/는 32 입니다.
8 곱하기 5 은/는 40 입니다.
8 곱하기 6 은/는 48 입니다.
8 곱하기 7 은/는 56 입니다.
8 곱하기 8 은/는 64 입니다.
8 곱하기 9 은/는 72 입니다.
9 곱하기 1 은/는 9 입니다.
9 곱하기 2 은/는 18 입니다.
9 곱하기 3 은/는 27 입니다.
9 곱하기 4 은/는 36 입니다.
9 곱하기 5 은/는 45 입니다.
9 곱하기 6 은/는 54 입니다.
9 곱하기 7 은/는 63 입니다.
9 곱하기 8 은/는 72 입니다.
9 곱하기 9 은/는 81 입니다.

 

2) 조건문

if

if 문 작성법

if 조건1:
    조건1이 참 일때의 실행문
elif 조건2:
    조건2가 참 일때의 실행문
else:
    실행문

 

문제 : x 가 5보다 크면 True 를 출력하시오.

x = 6
if x > 5:
    print('True')
    
>>> True

 

문제 : x가 5보다 크면 True, 아니면 False를 출력하시오.

x = 4
if x > 5:
    print('True')
else:
    print('False')
    
>>> False

 

문제 : x가 5보다 작으면 '5 미만' 5이면 '5', 나머지는 '5 이상'이라고 출력하시오.

x = 4
if x < 5:
    print('5 미만')
elif x == 5:
    print('5')
else:
    print('5 이상')

>>> 5 미만

 

문제 : x가 5보다 작으면 무시하고, 5이면 '5', 나머지는 '5 이상' 이라고 출력하시오.

x = 4
if x < 5:
    pass
elif x == 5:
    print('5')
else:
    print('5 이상')

>>>

 

문제 : 점수(x)가 90점 이상이면 'A', 80점 이상이면 'B', 70점 이상이면 'C', 60점 이상이면 'D', 나머지는 'F' 로 출력하시오.

x = 95

if x >= 60:
    print('D')
elif x >= 70:
    print('C')
elif x >= 80:
    print('B')
elif x >= 90:
    print('A')
else:
    print('F')
    
>>> D --> if x >= 60: 이 구문으로 바로 D가 출력됨!


if x >= 90:
    print('A')
elif x >= 80:
    print('B')
elif x >= 70:
    print('C')
elif x >= 60:
    print('D')
else:
    print('F')
    
>>> A

 

문제 : A 리스트에는 1반 학생들의 수학 점수가 저장되어 있다. 점수가 90점 이상이면 'A', 80점 이상이면 'B', 70점 이상이면 'C', 60점 이상이면 'D', 나머지는 'F' 로 출력하시오.

A = [80, 95, 70, 55, 63]

for i in A:
    if i >= 90:
        print(i, 'A')
    elif i >= 80:
        print(i, 'B')
    elif i >= 70:
        print(i, 'C')
    elif i >= 60:
        print(i, 'D')
    else:
        print(i, 'F')
80 B
95 A
70 C
55 F
63 D

 

 

5. List Comprehension

 

변수 a 에 1 부터 10 까지 삽입하시오.

a = []
for i in range(1, 11, 1):
    a.append(i)
print(a)
>>> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = [i for i in range(1, 11, 1)]
 print(a)
>>> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 

변수 a 에 1 부터 10 까지의 제곱의 값을 삽입하시오.

a = []
for i in range(1, 11, 1):
    a.append(i ** 2)
print(a)
>>> [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

a = [i ** 2 for i in range(1, 11, 1)]
print(a)
>>> [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

 

변수 a 에는 A 반의 수학점수가 저장되어 있다. 이 중 80점 이상의 점수만 걸러내어라.

a = [90, 39, 48, 70, 82, 100]
result = [i for i in a]
print(result)
>>> [90, 39, 48, 70, 82, 100]

result = [i for i in a if i >= 80]
print(result)
>>> [90, 82, 100]

 

6. 함수

함수의 예

print(1)
>>> 1
type(1)
>>> int

 

함수를 만드는 이유

a = 1
b = a * 100
b = b ** 2
c = b + 2 * a

똑같은 작업을 여러번 반복해야 한다면? --> 비효율적 so 함수를 생성!

 

 

생성방법

def 함수명(인풋 값):
  실행 내용

 

x 를 입력값으로 넣으면 x + 1 을 출력하는 함수 생성

def function1(x):
    print(x + 1)
    
function1(1)
>>> 2

 

x 를 입력값으로 넣으면 x + 1, x + 2 를 반환하는 함수 생성

def function3(x):
    result1 = x + 1
    result2 = x + 2
    return result1, result2
    
    
a, b = function3(1)
print(a)
print(b)
>>> 2
>>> 3

 

 

여러개의 입력값을 받고 싶을 때

여러개의 입력값을 받아 순서대로 출력

def function4(x):
    for i in x:
        print(i)
        
a = [1, 3, 5, 7, 4, 'd', 2, 60]
function4(a)
1
3
5
7
4
d
2
60

 

args 를 이용한 구현

def function5(*args):
    for i in args:
        print(i)
        
function5(1, 3, 5, 7, 4, 'd', 2, 60)
1
3
5
7
4
d
2
60