본문 바로가기

PYTHON/초보자를 위한 파이썬 300제

08. 파이썬 반복문 161 ~ 170

 

range()라는 함수를 알기는 하지만 응용하는 머리를 좀 더 키우자,,, 왤케 머리가 굳었냐

 

https://wikidocs.net/7033

 

161 ~ 170

.answer {margin-top: 10px;margin-bottom: 50px;padding-top: 10px;border-top: 3px solid LightGray;bo…

wikidocs.net

print("-"*80)
# 20214 03 06 WED
# 161
# for문과 range구문을 사용해 0~99까지 순차적으로 출력하는 프로그램 작성
for num in range(100):
    print(num)

# 162
# 2002~2050년까지 중 월드컴이 개최되는 연도 출력
for year in range(2002, 2050, 4):
    print(year)

# 163
# 1부터 30까지의 숫자 중 3의 배수 출력
for sam in range(31):
    if sam % 3 == 0 and sam > 0:
        print(sam)

# 164
# 99부터 0까지 1식 감소하는 숫자들을 한 라인에 하나씩 출력
for decrease in range(99, -1, -1):
    print(decrease)

for ii in range(100):
    print(99-ii)

# 165
# for문을 사용해 0.1~0.9 출력
for num in range(10):
    print(num/10)

# 166
# 구구단 3단 출력
for n in range(1,10):
    print("3 x {} = {}".format(n, 3*n))

# 167
# 3단 구구단의 홀수 번째만 출력
for n in range(1, 10):
    if n % 2 != 0:
        print("3 x {} = {}".format(n, n*3))

# 168
# 1 ~ 10까지의 숫자에 대해 모두 더한 값을 출력하는 프로그램을 for문을 사용해 작성
add = 0
for i in range(1, 11):
    add = add + i
print(add)

# 169
#  1 ~ 10까지의 숫자 중 모든 홀수의 합을 출력하는 프로그램 작성
odd = 0
for i in range(1, 11):
    if i % 2 != 0:
        odd = odd + i
print(odd)

hab = 0
for i in range(1, 11, 2):
    hab += i
print ("합 :", hab)

# 170
# 1 ~ 10까지의 숫자를 모두 곱한 값 출력하는 프로그램 작성
mul = 1
for m in range(1, 11):
    mul = mul * m
print(mul)

 

160 ~ 171 출력 결과 (너무 길어서 한줄에 출력하는 걸로 코드 변경)

 

내가 몰랐던 문법

 

1. range()

'range()' 함수는 연속된 정수를 생성하는 데 사용된다. 

기본 구문 세 가지

  1. ange(stop): 0부터 시작하여 stop 전까지의 숫자를 생성
  2. range(start, stop): start부터 시작하여 stop 전까지의 숫자를 생성
  3. range(start, stop, step): start부터 시작하여 step만큼씩 증가하며 stop 전까지의 숫자를 생성

range() 함수는 필요한 만큼의 값을 메모리에 저장하지 않고, 필요할 때마다 값을 생성하므로 큰 범위의 숫자도 처리 가능하다.

 

2. 165번 문제 

for문과 range() 함수를 이용해 0.1부터 0.9까지 출력하는 문제였는데 range() 함수는 소수도 생성할 수 있는 줄 알았으나 정수만 생성할 수 있었다. 따라서 소수를 생성하려면 1~10까지의 값을 range()로 생성하고 for문으로 각각 10으로 나눠 소수로 만들어줘야 한다. 

 

3. 168번 문제 

total = 0
for i in range(1, 11):
    total += i
print(total)

 

우선 total 변수를 0으로 초기화해주는 것이 중요하다. 이 변수를 이용해 각 숫자를 더할 것이기 때문에 누적된 합을 올바르게 계산하기 위해서는 반복문을 시작하기 전에 0으로 초기화해주어야 한다. 그 뒤 1부터 10까지의 값을 i라는 변수에 할당한 다음 total 변수에 반복적으로 더하여 총합을 계산하면 된다. 이 알고리즘을 잘 알아두어야 한다. 

 

4. +=

'+='는 할당 연산자 중 하나로, 현재 변수에 다른 값을 더하고 그 결과를 다시 변수에 할당하는 역할을 한다. 예를 들어 x += 5는 x = x + 5와 동일한 역할을 한다. 이 연산자는 숫자뿐만이 아니라 문자열, 리스트 등과 같은 데이터 타입에서도 사용 가능하다.