프로그래밍/Python
python 2일차 - if문, for문, while문, enumerate
비전공개미
2022. 8. 30. 18:42
반응형
SMALL
In [4]:
'''
조건 : if, elif
순환 : for, while, do while
제어 : continue, break <순환문과 같이씀>
if 조건 [or, and 조건1] : -> 논리
조건이 True일 경우의 처리
'''
number = 3
if number > 0 :
print('number는 양수입니다.')
## if 조건문 들여쓰기로 구분
number는 양수입니다.
In [6]:
if number < 0 :
print('number는 음수입니다.')
## if 조건이 안맞으면 출력을 하지 않는다.
In [7]:
if number == 3 :
print('number는 3입니다.')
number는 3입니다.
In [11]:
# number = input('정수입력 > ')
# number = int(number)
number = int(input('정수입력 > '))
if number % 2 == 0 :
print('짝수입니다.')
if number % 2 != 0 : # number % 2 == 1
print('홀수입니다.')
정수입력 > 4
짝수입니다.
else¶
In [17]:
number = int(input('정수입력 > '))
if number % 2 == 0 :
print('짝수입니다.')
else :
print('홀수입니다.')
정수입력 > 5
홀수입니다.
In [18]:
'''
module : 다른 사람이 먼저 제작해놓은 기능
# split같은 기본함수
'''
import datetime
In [28]:
now = datetime.datetime.now() ## getter(값을 얻어오는부분)
now
Out[28]:
datetime.datetime(2022, 8, 30, 9, 36, 50, 95571)
In [29]:
now.year
Out[29]:
2022
In [30]:
now.month
Out[30]:
8
In [31]:
now.day
Out[31]:
30
In [32]:
now.hour
Out[32]:
9
In [33]:
now.minute
Out[33]:
36
In [34]:
now.second
Out[34]:
50
In [36]:
if now.hour < 12 :
print('현재 시간은 {}시로 오전입니다.'.format(now.hour))
### 괄호에 format 값을 넣어라
현재 시간은 9시로 오전입니다.
In [37]:
if now.hour < 12 :
print('현재 시간은 {}시 {}분으로 오전입니다.'.format(now.hour, now.minute))
현재 시간은 9시 36분으로 오전입니다.
In [40]:
## setter
setTime = datetime.datetime.strptime('2022-12-24 12:35:45', '%Y-%m-%d %H:%M:%S')
setTime
Out[40]:
datetime.datetime(2022, 12, 24, 12, 35, 45)
In [44]:
setTime = datetime.datetime.strptime('20221124123545', '%Y%m%d%H%M%S')
setTime
Out[44]:
datetime.datetime(2022, 11, 24, 12, 35, 45)
In [46]:
### 조건분기 (다수조건)
month = setTime.month
if month >= 3 and month <= 5 :
print('현재는 봄입니다.')
elif 6 <= month <= 8 :
print('현재는 여름입니다.')
elif 9 <= month <= 11 :
print('현재는 가을입니다.')
else :
print('현재는 겨울입니다.')
현재는 가을입니다.
In [50]:
### pass
'''
조건에 대한 정의는 설정했는데 처리가 결정되지 않은 경우
(나중에 결정할때)
'''
number = 5
if number > 0 :
# 양수일 경우
pass
else :
# 음수일 경우
pass
과제¶
In [68]:
'''
BMI (Body Mass Index)
1.건강을 위해 비만도를 체크하여 봅시다.
신장과 체중을 입력하고 당신의 비만도 (BMI = 체중 (kg) ÷ 신장 (m)의 제곱)을
계산하는 프로그램을 작성하고 계산 결과를 확인하십시오.
판정 기준
18.5 미만 → 마른,
18.5 ~ 25 미만 → 표준
25-30 미만 → 비만
30 이상 → 고도 비만
으로 판정합니다.
키를 cm 단위로 입력하십시오> 170
체중을 kg 단위로 입력하십시오> 65
BMI = 22.49134948096886
당신은 "표준"입니다.
'''
height = float(input('키를 입력해주세요.'))
weight = float(input('체중을 입력해주세요.'))
bmi = weight / (height ** 2)
print('BMI =', bmi) ## BMI계산 오류!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
if bmi < 18.5 :
bmi_str = '마른'
elif 18.5 <= bmi < 25 :
bmi_str = '표준'
elif 25 <= bmi < 30 :
bmi_str = '비만'
elif bmi >= 30 :
bmi_str = '고도 비만'
print('당신은', bmi_str, '입니다')
키를 입력해주세요.170
체중을 입력해주세요.65
BMI = 0.002249134948096886
당신은 마른 입니다
In [79]:
'''
윤년의 판정
2.윤년이라는 것은 4 년에 한 번, 2월 29일까지 있는 연도입니다.
첫번째 조건으로 연도를 400으로 나눈 나머지가 0일 경우, 윤년입니다.
두번째 조건으로 연도를 100으로 나눈 나머지가 0이면, 윤년이 아닙니다. 예) 123
세번째 조건으로 연도를 4로 나눈 나머지가 0이면 윤년입니다.
이 규칙에 따라 서기 연도를 입력하고 윤년을 확인할 수있는 프로그램을 작성합니다.
서기 연도를 입력하십시오> 1996
1996 년은 윤년입니다.
'''
year_in = int(input('서기 연도를 입력하세요.'))
if year_in % 400 == 0 or year_in % 4 == 0:
print(year_in,'년은 윤년입니다.')
elif year_in % 100 == 0 :
print(year_in,'년은 윤년이 아닙니다.') ## 윤년이 아닙니다 오류!!!!!!!!!!!!!!!
서기 연도를 입력하세요.2022
풀이¶
In [83]:
'''
BMI (Body Mass Index)
1.건강을 위해 비만도를 체크하여 봅시다.
신장과 체중을 입력하고 당신의 비만도 (BMI = 체중 (kg) ÷ 신장 (m)의 제곱)을
계산하는 프로그램을 작성하고 계산 결과를 확인하십시오.
판정 기준
18.5 미만 → 마른,
18.5 ~ 25 미만 → 표준
25-30 미만 → 비만
30 이상 → 고도 비만
으로 판정합니다.
키를 cm 단위로 입력하십시오> 170
체중을 kg 단위로 입력하십시오> 65
BMI = 22.49134948096886
당신은 "표준"입니다.
'''
height = float(input('키를 cm 단위로 입력하십시오>'))
weight = float(input('체중을 kg 단위로 입력하십시오>'))
height = height / 100 # cm -> m 로 변경
bmi = weight / height ** 2
# bmi
message = '' ## 변수에 입력
if bmi < 18.5 :
message = '당신은 마른체형 입니다'
elif 18.5 <= bmi < 25.0 :
message = '당신은 표준 체형입니다'
elif 25.0 <= bmi < 30.0 :
message = '당신은 비만입니다'
elif 30 <= bmi :
message = '당신은 고도비만 입니다'
message
키를 cm 단위로 입력하십시오>170
체중을 kg 단위로 입력하십시오>65
Out[83]:
'당신은 표준 체형입니다'
In [85]:
'''
윤년의 판정
2.윤년이라는 것은 4 년에 한 번, 2월 29일까지 있는 연도입니다.
첫번째 조건으로 연도를 400으로 나눈 나머지가 0일 경우, 윤년입니다.
두번째 조건으로 연도를 100으로 나눈 나머지가 0이면, 윤년이 아닙니다. 예) 123
세번째 조건으로 연도를 4로 나눈 나머지가 0이면 윤년입니다.
이 규칙에 따라 서기 연도를 입력하고 윤년을 확인할 수있는 프로그램을 작성합니다.
서기 연도를 입력하십시오> 1996
1996 년은 윤년입니다.
'''
year = int(input('연도를 입력하세요.'))
leap = False
if year % 400 == 0 :
leap = True
elif year % 100 == 0 :
leap = False
elif year % 4 == 0 :
leap = True
if leap == True :
print(year,'년은 윤년입니다.')
else :
print(year,'년은 윤년이 아닙니다.')
연도를 입력하세요.2022
2022 년은 윤년이 아닙니다.
In [87]:
### tuple, list, dictionary -> 변수들의 묶음
### array(배열)
'''
array : 같은 자료형 변수의 묶음 == tuple(대입용)
array = []
array = [1, 2, 3]
array[0] -> 1 0 -> index number
array[1] -> 2
array[2] -> 3
list : 유동적(추가, 삭제가능)인 배열
'''
number = 1
number1 = 1
number2 = 2
number3 = 3 ## 너무 길고 복잡함
In [88]:
### tuple : 대입, 변경불가, 추가, 삭제불가
tu = (11, 22, 33) # -> 11,22,33값은 요소(element)
tu
Out[88]:
(11, 22, 33)
In [89]:
tu[0]
Out[89]:
11
In [92]:
tu[1] = 2 # tuple은 대입해서 사용은 가능하나 수정이 불가함
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [92], in <cell line: 1>()
----> 1 tu[1] = 2
TypeError: 'tuple' object does not support item assignment
In [95]:
### list 변수들의 묶음. 요소를 추가하고 삭제할 수 있다.
mylist = [ 11, 22, 33, '안녕', True ]
mylist
Out[95]:
[11, 22, 33, '안녕', True]
In [96]:
mylist[3]
Out[96]:
'안녕'
In [98]:
mylist[0:3] # 0번째서부터 3번째 전까지
Out[98]:
[11, 22, 33]
In [99]:
mylist[-1]
Out[99]:
True
In [100]:
mylist[2:] # 2번째부터 뒤로 다 가져온다
Out[100]:
[33, '안녕', True]
In [114]:
list_a = [1, 2, 3]
list_b = [4, 5, 6]
list_a + list_b
Out[114]:
[1, 2, 3, 4, 5, 6]
In [102]:
list_a * 3
Out[102]:
[1, 2, 3, 1, 2, 3, 1, 2, 3]
In [115]:
list_a
Out[115]:
[1, 2, 3]
In [116]:
# (요소(element) or node)추가
list_a.append(4) # 4값을 추가해라
list_a
Out[116]:
[1, 2, 3, 4]
In [117]:
list_a.insert(2, 5) # 2번째에 5값을 넣어라
list_a
Out[117]:
[1, 2, 5, 3, 4]
In [118]:
list_a.extend([6, 7, 8])
list_a
Out[118]:
[1, 2, 5, 3, 4, 6, 7, 8]
In [119]:
list_b = [11, 12, 13]
list_a.extend(list_b) # 한꺼번에 합칠 수 있다 ex)과거자료 + 현재자료
list_a
Out[119]:
[1, 2, 5, 3, 4, 6, 7, 8, 11, 12, 13]
In [120]:
### CRUD -> Data Access Object
### 추가, 검색, 수정, 삭제
### Create Read Update Delete
In [121]:
del list_a[4] # 4번째에 있는 데이터를 삭제한다
list_a
Out[121]:
[1, 2, 5, 3, 6, 7, 8, 11, 12, 13]
In [122]:
list_a.pop(2) # 2번째에 있는 데이터를 삭제한다.
list_a
Out[122]:
[1, 2, 3, 6, 7, 8, 11, 12, 13]
In [123]:
del list_a[4:7]
list_a
Out[123]:
[1, 2, 3, 6, 12, 13]
In [124]:
mylist = [ 11, 22, 33, 44, 55 ]
33 in mylist
Out[124]:
True
In [125]:
if 33 in mylist :
print('데이터가 있습니다.')
데이터가 있습니다.
In [126]:
mylist[3] = 66 # mylist 3번째의 값을 수정한다
mylist
Out[126]:
[11, 22, 33, 66, 55]
In [127]:
### Sorting : 정렬
'''
2 8 1 4 5 6
1 2 4 5 6 8 -> 오름차순 정렬
8 6 5 4 2 1 -> 내림차순 정렬
'''
mylist = [ 1, 9, 2, 8, 3, 7, 4 ]
mylist.sort() # sort기본은 오름차순정렬
mylist
Out[127]:
[1, 2, 3, 4, 7, 8, 9]
In [128]:
mylist.sort(reverse=True) #sort reverse 내림차순정렬
mylist
Out[128]:
[9, 8, 7, 4, 3, 2, 1]
dictionary¶
In [131]:
'''
array, tuple, list -> 관리(접근)
: index 0 ~ len-1 == 번호
'''
mylist = [1, 2, 3]
mylist[0]
len(mylist)
Out[131]:
3
In [ ]:
'''
key:value
list key -> index
value -> list[key]
dictionary
key -> str
value -> object(class, list, tuple, str, int)
'''
In [134]:
dic = {
'name' : '과일',
'fruits' : ['사과', '배', '바나나'],
'origin' : '필리핀'
}
### key값 = name, fruits, origin
dic
Out[134]:
{'name': '과일', 'fruits': ['사과', '배', '바나나'], 'origin': '필리핀'}
In [136]:
dic.keys() # dic의 키값만을 출력
Out[136]:
dict_keys(['name', 'fruits', 'origin'])
In [138]:
dic.values() # dic의 값들
Out[138]:
dict_values(['과일', ['사과', '배', '바나나'], '필리핀'])
In [141]:
dic.items()
Out[141]:
dict_items([('name', '과일'), ('fruits', ['사과', '배', '바나나']), ('origin', '필리핀')])
In [142]:
dic['name']
Out[142]:
'과일'
In [143]:
dic['fruits']
Out[143]:
['사과', '배', '바나나']
In [144]:
dic['fruits'][1]
Out[144]:
'배'
In [147]:
dic['name'] = 'food' # value값을 수정한다 (키값은 수정할 수 없음)
dic
Out[147]:
{'name': 'food', 'fruits': ['사과', '배', '바나나'], 'origin': '필리핀'}
In [150]:
mylist = [] # list 선언
mylist.append('hi')
mylist.append('good day')
mylist
Out[150]:
['hi', 'good day']
In [161]:
dic = {} # dictionary 선언
dic['name'] = '로봇트'
dic['head'] = '스킨헤드'
dic['body'] = '메탈바디'
dic['weapon'] = ['미사일', '광선검', '레이저']
dic
Out[161]:
{'name': '로봇트',
'head': '스킨헤드',
'body': '메탈바디',
'weapon': ['미사일', '광선검', '레이저']}
In [162]:
del dic['head'] # dic의 키워드 'head'의 key, value값을 지운다
dic
Out[162]:
{'name': '로봇트', 'body': '메탈바디', 'weapon': ['미사일', '광선검', '레이저']}
In [163]:
if 'weapon' in dic :
print('무기가 있습니다.')
무기가 있습니다.
In [164]:
value = dic.get('name')
value
Out[164]:
'로봇트'
In [167]:
value = dic.get('head') # 삭제된 키값을 확인
if value == None :
print('존재하지 않은 키값에 접근했습니다.')
존재하지 않은 키값에 접근했습니다.
In [168]:
dic['name'] # list형 접근 (=으로 수정가능)
Out[168]:
'로봇트'
In [170]:
dic.get('name') # 함수를 써서 접근 (수정불가)
Out[170]:
'로봇트'
range¶
In [172]:
range(5) # 0부터 시작해서 5보다 작은범위
Out[172]:
range(0, 5)
In [174]:
mylist = list(range(5))
mylist
Out[174]:
[0, 1, 2, 3, 4]
In [176]:
list(range(0, 5)) # 위의 값과 동일함 range는 컴마를 사용
Out[176]:
[0, 1, 2, 3, 4]
In [177]:
list(range(5, 10)) # 5부터 9까지
Out[177]:
[5, 6, 7, 8, 9]
In [179]:
list(range(0, 10, 2)) # 기입한 숫자만큼 값이 늘어난다
Out[179]:
[0, 2, 4, 6, 8]
In [180]:
list(range(0, 10, 3)) # 기입한 숫자만큼 값이 늘어난다
Out[180]:
[0, 3, 6, 9]
for¶
In [190]:
# for foreach (foreach문과 동일하다)
for i in range(10) :
print(i)
0
1
2
3
4
5
6
7
8
9
In [194]:
_sum = 0
for i in range(1, 11) : # 1부터 10까지의 수를 돌린다
_sum += i # 1부터 10까지의 수를 전부 더한값
_sum
Out[194]:
55
In [195]:
mylist = ['one', 'two', 'three', 'four', 'five']
for a in mylist :
print(a)
one
two
three
four
five
In [196]:
for i in range(0, 10, 2) :
print(i)
0
2
4
6
8
In [201]:
mylist = [ 11, 22, 33, 44, 55 ]
for i in range(len(mylist)) :
print(mylist[i])
11
22
33
44
55
In [208]:
for i in reversed(range(len(mylist))) :
print(i)
4
3
2
1
0
In [212]:
for i in reversed(range(len(mylist))) :
print(i, mylist[i])
4 55
3 44
2 33
1 22
0 11
enumerate(index, value값 같이 출력 / 자주사용됨)¶
In [214]:
fruits = ['apple', 'pear', 'banana']
# index, value를 같이뽑고싶을때
for i, val in enumerate(fruits) :
print(i, val)
0 apple
1 pear
2 banana
In [217]:
dic
Out[217]:
{'name': '로봇트', 'body': '메탈바디', 'weapon': ['미사일', '광선검', '레이저']}
In [222]:
for key in dic :
print(key)
name
body
weapon
In [223]:
for key in dic :
print(key, ':', dic[key])
name : 로봇트
body : 메탈바디
weapon : ['미사일', '광선검', '레이저']
In [225]:
for i, key in enumerate(dic) :
print(i, key, dic[key])
0 name 로봇트
1 body 메탈바디
2 weapon ['미사일', '광선검', '레이저']
In [228]:
for i in fruits :
if i == 'apple' : # for문에 조건문을 추가
print(i)
apple
In [229]:
# 1 ~ 100 사이의 숫자안에 짝수, 홀수의 합을 각각 구하라
sum1 = 0
sum2 = 0
for i in range(1, 101) :
if i % 2 == 0 :
sum2 += i
else :
sum1 += i
print('홀수의 합:', sum1)
print('짝수의 합:', sum2)
홀수의 합: 2500
짝수의 합: 2550
while문¶
In [232]:
'''
#for문
for 변수 in (배열, 범위) :
처리
#while문
변수선언(초기값)
while 조건 : -> 조건이 True면 계속 loop된다
처리
연산
'''
w = 0
while w < 10 :
print(w)
w += 1 # 무한 loop 조심
0
1
2
3
4
5
6
7
8
9
In [240]:
mylist = [ 11, 22, 33, 22, 44 ]
mylist
Out[240]:
[11, 22, 33, 22, 44]
In [242]:
val = 22
while val in mylist :
mylist.remove(val) # 원하는 값을 한번에 지울 수 있다
mylist
Out[242]:
[11, 33, 44]
break : loop문과 같이사용(탈출구문) for, while¶
In [245]:
mylist = [ 1, 2, 3, 4, -2, 6, -4 ]
for n in mylist :
if n < 0 :
break # n의 값이 0보다 작으면 break 탈출해라 -2 전까지의 수만 출력
print(n)
1
2
3
4
continue : skip 처리¶
In [247]:
for n in mylist :
if n < 0 :
continue # n의 값이 0보다 작은값이 있다면 무시하고 지나가라
print(n)
1
2
3
4
6
In [250]:
myNumber = [] # -> 5개 : 무조건 양수만 입력해야 된다
w = 0
while w < 5 :
num = int(input('숫자입력 > '))
if num <= 0 :
print('다시 입력해 주십시오')
continue # 0보다 작거나 같으면 저장하지않고 넘긴다
myNumber.append(num)
w += 1
myNumber
숫자입력 > 1
숫자입력 > 2
숫자입력 > 3
숫자입력 > -5
다시 입력해 주십시오
숫자입력 > -2
다시 입력해 주십시오
숫자입력 > 0
다시 입력해 주십시오
숫자입력 > 4
숫자입력 > 6
Out[250]:
[1, 2, 3, 4, 6]
과제¶
In [255]:
# 2,4,6,8,10 값을 각각 제곱 한 값을 출력하라
num = [ 2, 4, 6, 8, 10 ]
for i in range(len(num)) :
print(num[i] ** 2)
4
16
36
64
100
In [264]:
# while 문을 이용하여 10에서 50까지의 짝수만 출력하라
a = 10
while a <= 50 :
print(a)
a += 2
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50
In [267]:
# 0-9의 값을 for 문을 사용하여 하나씩 표시. 그러나 7이되면 루프를 종료
num2 = range(0, 10)
for i in num2 :
if i == 7 :
break
print(i)
0
1
2
3
4
5
6
In [269]:
# 0-9의 값을 하나씩 표시하라. 그러나 4의 경우는 표시하지 않는다. (continue를 사용)
for i in num2 :
if i == 4 :
continue
print(i)
0
1
2
3
5
6
7
8
9
In [273]:
# pass를 사용하여 0 ~ 9의 값을 하나씩 표시하라. 그러나 4의 경우는 표시하지 않는다
#(pass를 사용)
for i in num2 :
if i == 4 :
pass # pass 그냥넘어간다!!!!!!!!!!!!
print(i)
0
1
2
3
4
5
6
7
8
9
In [277]:
# 1 ~ 10까지 목록에 저장하고 각각의 값을 제곱 한 값을 출력하라
numList = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
for i in numList :
print(i ** 2)
1
4
9
16
25
36
49
64
81
100
In [349]:
# 다음 dictionary 객체를 사용하여 각각의 key와 value를 가져오고
# value가 20 이상인 경우 {key의 내용} : hot을 출력한다.
#그 외의 경우 {key의 내용} : cold 출력하라
temperatures = { 'x': 24, 'y': 18, 'z': 30 }
for key, val in enumerate(temperatures) :
if val >= 20 :
print(key, ': hot')
else :
print(key, ': cold') #선생님 풀이 참고하기!!!!!!!!!!!!!!!!!
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [349], in <cell line: 5>()
4 temperatures = { 'x': 24, 'y': 18, 'z': 30 }
5 for key, val in enumerate(temperatures) :
----> 6 if val >= 20 :
7 print(key, ': hot')
8 else :
TypeError: '>=' not supported between instances of 'str' and 'int'
In [282]:
# (1,2,3)의 튜플의 값을 x, y, z 변수에 각각 저장하라.
tup = (1, 2, 3)
x = tup[0]
y = tup[1]
z = tup[2]
print(x)
print(y)
print(z)
1
2
3
In [283]:
'''
목록 (결합)
변수 li1에 [1,2,3]목록을 대입 변수 li2에 [4,5]목록을 할당하고 두 목록을 결합하여
출력합니다.
출력 :[1,2,3,4,5]
'''
li1 = [1, 2, 3]
li2 = [4, 5]
li1 + li2
Out[283]:
[1, 2, 3, 4, 5]
In [286]:
'''
목록 (추가)
변수 목록 [1,2,3,4,5]을 할당하고이 목록의 끝 으로 6, 7하나씩 차례로 추가하십시오.
그 후, 최종 목록을 출력합니다.
출력 :[1,2,3,4,5,6,7]
'''
listAppend = [1, 2, 3, 4, 5]
listAppend.append(6)
listAppend.append(7)
listAppend
Out[286]:
[1, 2, 3, 4, 5, 6, 7]
In [287]:
'''
목록 (insert)
변수 목록 [1,2,3,4,5]을 만들고 0 번째와 1 번째 사이에 100 을 삽입하십시오.
출력 :[1,100,2,3,4,5]
'''
listAppend2 = [1, 2, 3, 4, 5]
listAppend2.insert(1, 100)
listAppend2
Out[287]:
[1, 100, 2, 3, 4, 5]
In [289]:
'''
정렬
변수 목록 [5,3,1,4,2]을 저장하고 오름차순으로 정렬 된 목록을 출력합니다.
출력 :[1,2,3,4,5]
'''
listSort = [5, 3, 1, 4, 2]
listSort.sort()
listSort
Out[289]:
[1, 2, 3, 4, 5]
In [319]:
'''
목록 (for 의한 조사)
변수에 [1,2,3,4,5] 5 개의 요소를 가진 리스트를 포함하여 짝수의 요소만을 출력합니다.
출력: 2 4
'''
listNum = [1, 2, 3, 4, 5]
for i in listNum :
if i % 2 == 0 :
print(i)
2
4
In [317]:
'''
목록 (enumerate)
변수에 [1,2,3,4,5] 5 개의 요소를 가진리스트를 포함하여 짝수가 들어 있는 요소의
index만을 출력합니다.
예상 출력 :1 3
'''
enu = [1, 2, 3, 4, 5]
for i, val in enumerate(enu) :
if val % 2 == 0 :
print(i)
1
3
In [314]:
'''
사전 (values)
변수에 값 쌍으로 {'A':1, 'B':2, 'C':3, 'D':4, 'E':5}를 가진 사전을 포함하여
키를 요소로 하는 리스트와 값을 요소로 하는 리스트를 작성하고 출력하십시오.
['A', 'B', 'C', 'D', 'E']
[1, 2, 3, 4, 5]
'''
dic2 = {
'A':1,
'B':2,
'C':3,
'D':4,
'E':5
}
print(dic2.keys())
print(dic2.values())
dict_keys(['A', 'B', 'C', 'D', 'E'])
dict_values([1, 2, 3, 4, 5])
In [ ]:
dic
In [315]:
'''
변수에 값 쌍으로 {'A':1, 'B':2, 'C':3, 'D':4, 'E':5}를 가진 사전을 포함하여
키와 값 (가치)의 조합 튜플을 요소로 하는 리스트를 작성하고 출력하십시오.
출력 :[('A', 1), ('B', 2), ('C', 3), ('D', 4), ('E', 5)]
'''
dic2.items()
Out[315]:
dict_items([('A', 1), ('B', 2), ('C', 3), ('D', 4), ('E', 5)])
풀이¶
In [350]:
# 2,4,6,8,10 값을 각각 제곱 한 값을 출력하라
In [354]:
doubleList = []
for n in range(2, 12, 2) :
print(n ** 2)
doubleList.append(n ** 2)
doubleList
4
16
36
64
100
Out[354]:
[4, 16, 36, 64, 100]
In [351]:
# while 문을 이용하여 10에서 50까지의 짝수만 출력하라
In [361]:
num = 10
while num <= 50 :
print(num)
num += 2
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50
In [352]:
# 0-9의 값을 for 문을 사용하여 하나씩 표시. 그러나 7이되면 루프를 종료
In [362]:
for i in range(10) :
if i == 7 :
break
print(i)
0
1
2
3
4
5
6
In [353]:
# 0-9의 값을 하나씩 표시하라. 그러나 4의 경우는 표시하지 않는다. (continue를 사용)
In [364]:
for i in range(10) :
if i == 4 :
continue
print(i)
0
1
2
3
5
6
7
8
9
In [365]:
for i in range(10) :
if i == 4 :
pass # pass는 건너뛰지 않는다 (나중처리시 사용)
print(i)
0
1
2
3
4
5
6
7
8
9
In [355]:
# pass를 사용하여 0 ~ 9의 값을 하나씩 표시하라. 그러나 4의 경우는 표시하지 않는다
#(pass를 사용)
In [366]:
for i in range(10) :
if i == 4 :
pass # 4일때는 pass하고 아니면 출력하라
else :
print(i)
0
1
2
3
5
6
7
8
9
In [356]:
# 1 ~ 10까지 목록에 저장하고 각각의 값을 제곱 한 값을 출력하라
In [369]:
my_list = list(range(1, 11))
my_list
for i in my_list :
print(i ** 2)
1
4
9
16
25
36
49
64
81
100
In [357]:
# 다음 dictionary 객체를 사용하여 각각의 key와 value를 가져오고
# value가 20 이상인 경우 {key의 내용} : hot을 출력한다.
#그 외의 경우 {key의 내용} : cold 출력하라
temperatures = { 'x': 24, 'y': 18, 'z': 30 }
In [374]:
for key, value in temperatures.items() : # items 사용방법
if value >= 20 :
print(key, ': hot')
else :
print(key, ': cold')
x : hot
y : cold
z : hot
In [375]:
for i, key in enumerate(temperatures) : # enumerate 사용방법 // 결과값을 출력해서 확인해보고 사용하기
#print(i, key, temperatures[key])
if temperatures[key] >= 20 :
print(key, ': hot')
else :
print(key, ': cold')
x : hot
y : cold
z : hot
In [359]:
# (1,2,3)의 튜플의 값을 x, y, z 변수에 각각 저장하라.
In [ ]:
x = 1
y = 2
z = 3
x, y, z = (1, 2, 3) # 한번에 적용
In [ ]:
'''
목록 (결합)
변수 li1에 [1,2,3]목록을 대입 변수 li2에 [4,5]목록을 할당하고
두 목록을 결합하여 출력합니다.
출력 :[1,2,3,4,5]
'''
In [377]:
li1 = [1, 2, 3]
li2 = [4, 5]
li3 = li1 + li2
li3
Out[377]:
[1, 2, 3, 4, 5]
In [ ]:
'''
목록 (추가)
변수 목록 [1,2,3,4,5]을 할당하고이 목록의 끝 으로 6, 7하나씩 차례로 추가하십시오.
그 후, 최종 목록을 출력합니다.
출력 :[1,2,3,4,5,6,7]
'''
In [378]:
li = [1, 2, 3, 4, 5]
li.append(6)
li.append(7)
li
Out[378]:
[1, 2, 3, 4, 5, 6, 7]
In [ ]:
'''
목록 (insert)
변수 목록 [1,2,3,4,5]을 만들고 0 번째와 1 번째 사이에 100 을 삽입하십시오.
출력 :[1,100,2,3,4,5]
'''
In [379]:
li = [1, 2, 3, 4, 5]
li.insert(1, 100)
li
Out[379]:
[1, 100, 2, 3, 4, 5]
In [ ]:
'''
정렬
변수 목록 [5,3,1,4,2]을 저장하고 오름차순으로 정렬 된 목록을 출력합니다.
출력 :[1,2,3,4,5]
'''
In [381]:
li = [5,3,1,4,2]
sort_li = sorted(li) # sorted함수 사용방법
sort_li
Out[381]:
[1, 2, 3, 4, 5]
In [383]:
rsort_li = sorted(li, reverse=True)
rsort_li
Out[383]:
[5, 4, 3, 2, 1]
In [ ]:
'''
목록 (for 의한 조사)
변수에 [1,2,3,4,5] 5 개의 요소를 가진 리스트를 포함하여 짝수의 요소만을 출력합니다.
출력: 2 4
'''
In [384]:
li = [1,2,3,4,5]
for n in li :
if n % 2 == 0 :
print(n)
2
4
In [ ]:
'''
목록 (enumerate)
변수에 [1,2,3,4,5] 5 개의 요소를 가진리스트를 포함하여 짝수가 들어 있는 요소의
index만을 출력합니다.
예상 출력 :1 3
'''
In [385]:
li = [1,2,3,4,5]
for idx, val in enumerate(li) :
if val % 2 == 0 :
print(idx)
1
3
In [ ]:
'''
사전 (values)
변수에 값 쌍으로 {'A':1, 'B':2, 'C':3, 'D':4, 'E':5}를 가진 사전을 포함하여
키를 요소로 하는 리스트와 값을 요소로 하는 리스트를 작성하고 출력하십시오.
['A', 'B', 'C', 'D', 'E']
[1, 2, 3, 4, 5]
'''
In [388]:
dic = {'A':1, 'B':2, 'C':3, 'D':4, 'E':5}
key_list = list(dic.keys()) # list함수 한번 더 확인해보고 숙지
print(key_list)
val_list = list(dic.values())
print(val_list)
['A', 'B', 'C', 'D', 'E']
[1, 2, 3, 4, 5]
In [ ]:
'''
변수에 값 쌍으로 {'A':1, 'B':2, 'C':3, 'D':4, 'E':5}를 가진 사전을 포함하여
키와 값 (가치)의 조합 튜플을 요소로 하는 리스트를 작성하고 출력하십시오.
출력 :[('A', 1), ('B', 2), ('C', 3), ('D', 4), ('E', 5)]
'''
In [394]:
dic = {'A':1, 'B':2, 'C':3, 'D':4, 'E':5}
item_list = list(dic.items())
item_list
#item_list[0] == ('A', 1)
#item_list[0][1] == 1
Out[394]:
[('A', 1), ('B', 2), ('C', 3), ('D', 4), ('E', 5)]
반응형
LIST