[python]기초문법5
혼자공부하는 파이썬 23강 ~ 27강 강의 정리
for 반복문
for 반복자 in 반복할 수 있는 것: 반복 실행할 코드
a = [1,2,3,4,5,6,7]
for element in a :
print(element)
반복문과 if문 조합
numbers = [273,103,5,32,65,9,72,800,99]
for number in numbers:
if number >= 100:
print(" - 100이상의 수: {}".format(number))
for number in numbers:
if number % 2 == 0:
print("{}는 짝수 입니다.".format(number))
else:
print("{}는 홀수 입니다.".format(number))
for number in numbers:
print("{}는 {} 자리수 입니다.".format(number, len(str(number))))
반복문 중첩
list_of_list = [
[1,2,3],
[4,5,6,7],
[8,9]
]
for a in list_of_list:
#[1,2,3]>[4,5,6,7]>[8,9]
for b in a :
#1,2,3//4,5,6,7//8,9
print(b)
리스트가 중첩되어있으면, 반복문도 중첩한다
참고)
나눗셈 연산자 /를 사용하면 float형태로 리턴됨
정수를 리턴받으려면 //를 사용해야 함
딕셔너리와 반복문
dinctionary : key 와 value로 데이터를 저장
딕셔너리 선언
딕셔너리 = { “키1”:”값1”, “키2”:”값2”, “키3”:”값3” }
key와 value에는 문자열,숫자,boolean,튜플 등이 올 수 있으며 리스트나 딕셔너리 자체는 사용할 수 없음.
딕셔너리의 값에 접근방법
key값으로 value에 접근
딕셔너리[“키1”] #값1 딕셔너리[“키2”] #값2 딕셔너리[“키3”] #값3
.get()
딕셔너리.get(“키”) //키값이 없는 것일때 오류대신 none을 반환함
요소 추가
딕셔너리[“키”] = “값”
요소 제거
del 딕셔너리[“키”]
반복문과의 사용 예
for key in 딕셔너리:#key에 딕셔너리의 키값들이 들어감 print(“{} : {}”.format(key,딕셔너리[key])
요소의 중복횟수 구하기
numbers = [1,2,3,6,7,3,5,6,8,9,3,1,4,1,5,6,2,7,9,8,9,5,1]
counter = {}
for number in numbers:#numbers에 있는 요소를 numver에 담아서
if number in counter:#counter 딕셔너리안에 있으면 value값에 1을 더해준다
counter[number] += 1
else: # 없으면 value값을 1로 삽입한다
counter[number] = 1
파이썬의 자료형 확인
type(“문자열”) is str #문자열인지 확인 type([]) is list #리스트인지 확인 type({}) is dict #딕셔너리인지 확인
flatten
딕셔너리, 배열등의 요소들을 꺼내어 같은 레벨로 출력하는 것
예제
character = {
"name" : "기사",
"level": 12,
"items":{
"sword":"불꽃의 검",
"armor":"풀플레이트"
},
"skill":["베기","세게 베기","아주 세게 베기"]
}
for key in character:
if type(character[key]) in dict:
for k in character[key]:
print("{} : {}".format(l, character[key][k]))
elif type(chracter[key]) is list:
for item in character[key]:
print("{} : {}".format(key,item))
else:
print("{} : {}".format(key, character[key]))
범위(range)와 반복문
range(시작,끝,단계)
range(시작,끝) #단계=1 생략
range(끝) #시작=0과 단계=1 생략
list(range(0,10,1))
=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list(range(0,10,2))
=>[0, 2, 4, 6, 8]
list(range(0,10,3))
=>[0, 3, 6, 9]
list(range(0,10))
=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list(range(10))
=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#반복문에 적용 예
for i in range(0,10,1):
print(i)
반복문의 반복숫자 세기
첫 번째, 카운트 변수를 사용하는 방법
array =[275,32,41,8,73]
i=0
for element in array:
print("{} : {}".format(i,element))
i += 1
두 번째, enumerate() 사용 하는 방법
array =[275,32,41,8,73]
i=0
for i,element in enumerate(array):
print("{} : {}".format(i,element))
세 번째, range(len()) 사용 하는 방법
array =[275,32,41,8,73]
i=0
for i in enumerate(array):
print("{} : {}".format(i,array[i]))
역 반복문
#방법1. range() 사용
for i in range(9, -1, -1):
print(i)
#방법2. reversed() 사용
for i in reversed(<반복할 수 있는 것>)
for i in reversed(range(0, 10)):
print(i) #9~1 까지 역순으로 출력 됨.
while 반복문
리스트, 딕셔너리, 특정 획수 반복 할 때는 for 반복문을 사용한다.
그외에 for 반복문으로 안될 것 같은 경우 while문을 사용한다.
while boolean:
while문 예 1): 리스트 내부의 특정 값 전부 제거하기
numbers = [1, 2, 1, 2, 1, 2]
while 1 in numbers:
numbers.remove(1)
print(number)
while문 예 1): 시간을 기반으로 조건 걸기
import time
first = time.time()
while first + 5 >= time.time():
pass
print("프로그램이 종료되었습니다") #5초후 실행 됨.
break 키워드와 continue 키워드
break - 이후의 코드와 다음 반복을 무시하고 반복문을 종료시킴.
while True:
print("{}번째 반복문입니다.".format(i))
i += 1
input_text = input("> 종료하시겠습니까?(y)")
if input_text in ["Y","y"]:
print("반복문을 종료합니다.")
break
continue 키워드
현재 반복을 중지하고 다음 반복으로 넘어감
파이썬의 들여쓰기 특성때문에 타 언어에 비해 continue를 많이 사용하는 편임
numbers = [5, 15, 6, 20, 7, 25]
for number in numbers:
if number < 10:
continue
print(number)
Leave a comment