파이썬 300제 161~170 (반복문)

2024. 5. 31. 15:26Python/파이썬 300제

반응형

161. for문과 range 구문을 사용해서 0~99까지 한 라인에 하나씩 순차적으로 출력하는 프로그램을 작성하라.

->아래처럼 print문을 100번 칠 수는 없습니다.

print(0)
print(1)
....
print(99)

range문은 범위를 만들어 줍니다. 주의 할 점은 0 부터 2 까지 세 개의 데이터를 만들어줍니다.

>> list(range (3))
[0, 1, 2]

range(100)은 0 부터 99까지 숫자 리스트를 만듭니다. 이를 for문과 함께 사용하면 range로 생성한 모든 숫자를 하나씩 화면에 출력합니다.

for i in range(100):
    print(i)

 

162. 월드컵은 4년에 한 번 개최된다. range()를 사용하여 2002~2050년까지 중 월드컵이 개최되는 연도를 출력하라.

2002
2006
2010
...
2042
2046
2050

참고) range의 세번 째 파라미터는 증감폭을 결정합니다.

>> print(list(range(0, 10, 2)))
[0, 2, 4, 6, 8]

->

for x in range(2002, 2051, 4) :
    print (x)

 

163. 1부터 30까지의 숫자 중 3의 배수를 출력하라.

3 
6 
9 
12 
15 
18 
21 
24 
27 
30

->

for num in range(3, 31, 3):
    print (num)

 

164. 99부터 0까지 1씩 감소하는 숫자들을, 한 라인에 하나씩 출력하라.

-> 뺄셈을 사용해서 원하는 결과값을 얻어냅니다.

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

 

165. for문을 사용해서 아래와 같이 출력하라.

0.0
0.1
0.2
0.3
0.4
0.5
...
0.9

->

for num in range(10) :
    print(num / 10)

 

166. 구구단 3단을 출력하라.

3x1 = 3
3x2 = 6
3x3 = 9
3x4 = 12
3x5 = 15
3x6 = 18
3x7 = 21
3x8 = 24
3x9 = 27

->

for i in range(1, 10) :
    print (3, "x", i, " = ", 3 * i)

 

167. 구구단 3단을 출력하라. 단 홀수 번째만 출력한다.

3x1 = 3
3x3 = 9
3x5 = 15
3x7 = 21
3x9 = 27

-> range(1, 10, 2)를 사용해서 홀수를 만듭니다.

num = 3
for i in range(1, 10, 2) :
    print (num, "x", i, " = ", num * i)

혹은 조건문을 사용해서 해결할 수도 있습니다.

num = 3
for i in range(1, 10) :
    if i % 2 == 1 :
        print (num, "x", i, " = ", num * i)

 

168. 1~10까지의 숫자에 대해 모두 더한 값을 출력하는 프로그램을 for 문을 사용하여 작성하라.

합 : 55

-> hab 이라는 변수에 0을 저장하고, for 문을 통해 모든 값에 대해 누적합니다.

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

hab += i 는 아래 코드를 축약해서 작성한 것입니다.

hab = hab + i

 

169. 1~10까지의 숫자 중 모든 홀수의 합을 출력하는 프로그램을 for 문을 사용하여 작성하라.

합: 25

-> hab 이라는 변수에 0을 저장하고, for 문을 통해 모든 값에 대해 누적합니다. 이때 range의 세 번째 파라미터를 사용해서 range가 생성하는 수를 2씩 증가시킵니다.

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

 

170. 1~10까지의 숫자를 모두 곱한 값을 출력하는 프로그램을 for 문을 사용하여 작성하라.

->

result = 1
for i in range(1, 11) :
    result *= i
print(result)

result *= i 는 아래 코드를 축약해서 작성한 것입니다.

result = result * i
반응형