파이썬에서의 반복작업은 어떤식으로 수행되는지 이해하고 활용할 수 있다.
루프
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