반복문 응용

매일 공부(ML)·2022년 2월 7일
0

학습목표

파이썬에서의 반복작업은 어떤식으로 수행되는지 이해하고 활용할 수 있다.


핵심 키워드

루프


루프의 활용

루프를 사용하여 개수 세기

  • 리스트에 몇 개의 원소가 있는지 알고자할 때 사용가능
zork = 0
print('Before', zork)
numbers = [9, 41, 12, 3, 74, 15] # 강의와는 달리 numbers라는 int를 원소로 가지는 list를 선언하였습니다.
for thing in numbers :
    zork = zork + 1
    print(zork, thing)
print('After', zork)

# Before 0
# 1 9
# 2 41
# 3 12
# 4 3
# 5 74
# 6 15
# After 6

루프를 사용하여 합계 구하기

각 원소를 누적해서 더해 총합을 알아내기

zork = 0
print('Before', zork)
numbers = [9, 41, 12, 3, 74, 15] # 강의와는 달리 numbers라는 int를 원소로 가지는 list를 선언하였습니다.
for thing in numbers :
   zork = zork + thing
   print(zork, thing)
print('After', zork)

# Before 0
# 9 9
# 50 41
# 62 12
# 65 3
# 139 74
# 154 15
# After 154

루프를 사용하여 평균 구하기

원소의 수와 총합을 활용하면 우리는 평균을 구함

count = 0 # 평균을 전체 원소의 수로 나누기 위해 total number를 확인합니다.
sum = 0
print('Before', count, sum)
numbers = [9, 41, 12, 3, 74, 15] # 강의와는 달리 numbers라는 int를 원소로 가지는 list를 선언하였습니다.
for value in numbers :
    count = count + 1
    sum = sum + value
    print(count, sum, value)
print('After', count, sum, sum/count)

# Before 0 0
# 1 9 9
# 2 50 41
# 3 62 12
# 4 65 3
# 5 139 74
# 6 154 15
# After 6 154 25.666666666666668
  

루프를 사용하여 필터링 하기

특정 값보다 큰 수를 print를 이용해 확인

print('Before')
numbers = [9, 41, 12, 3, 74, 15]
for value in numbers :
    if value > 20:
        print('Large number', value)
print('After')

# Before
# Large number 41
# Large number 74
# After

부울값을 사용하여 특정 값을 검색하기

부울 변수를 이용하여 우리가 원하는 특정 값이 list에 있는지 확인 할 수 있다.

found = False
print('Before', found)
numbers = [9, 41, 12, 3, 74, 15]
for value in numbers :
    if value == 3 :
        found = True
        print(found, value)
        break # 특정 값을 찾았을때 해당 루프를 종료하는 것이 더욱 적절해 보입니다.
print('After', found)

# Before False
# True 3
# After True

가장 작은 수를 찾는 코드 완성하기

가장 작은 수를 찾는 루프를 완성하기 위해서는 우리는 None 자료형에 대해서 알아야 합니다.

None은 값이 없다는 것을 말합니다.

하나의 빈 상자에 이 상자는 비어 있습니다라고 명시적으로 표시하고 있다고 생각하면 될 듯합니다.

또한 "is"와 "is not"의 연산자는 자료형과 값이 동일할 때 True를 반환하게 됩니다.

예를 들어, 0 == 0.0은 True이지만 0 is 0.0은 False입니다.

값은 동일하지만 자료형이 전자는 int이고 후자는 float 이기 때문입니다

smallest = None
print('Before')
numbers = [9, 41, 12, 3, 74, 15]
for value in numbers :
    if smallest is None :
        smallest = value
    elif value < smallest :
        smallest = value
    print(smallest, value)
print('After', smallest)

# 9 9
# 9 41
# 9 12
# 3 3
# 3 74
# 3 15
# After 3
profile
성장을 도울 아카이빙 블로그

0개의 댓글