01. 10개의 숫자를 입력받아 0보다 큰 수에 대해서만 전체 합과 평균을 출력하는 프로그램을 while 반복문을 이용하여 작성하시오.
① 조건 추출 :
- 사용자에게 10개의숫자를 10번 반복하여 입력 받음
- 숫자가 0보다 큰 수에 대해서만 전체 합과 평균을 출력
② 연계된 논리 결정 :
- 10개의 숫자를 입력 받음 : 반복 논리
- 0보다 큰 수에 대해서만 합과 평균을 출력 : 선택 논리
③ 논리구조도 :
num = 0
sum = 0
avg = 0
i = 1
while i <= 10:
num = int(input("숫자를 입력하세요 : "))
if (num > 0):
sum += num
i = i + 1
avg = sum / 10
print("합 :", sum)
print("평균 :", avg)
02. 1부터 100까지의 합을 구하여 다음과 같이 출력하는 프로그램을 while 반복문을 이용하여 작성하시오.(10을 기준으로 합계를 출력한다.)
[실행 결과]
1-10 : 0000
1-20 : 0000
1-30 : 0000
···
1-100 : 5050
① 조건 추출 :
- 1부터 100까지 반복하고, 10 단위로 각 합 출력
② 연계된 논리 결정 :
- 1부터 100까지 반복 : 반복 논리
- 10 단위로 각 합 출력 : 선택 논리
③ 논리구조도 :
i = 1
j = 1
k = 1
sum = 0
while k <= 10:
while j <= 100:
if (j % 10 == 0):
while i <= j:
sum += i
i += 1
print("1-", j, ":", sum)
j += 1
k += 1
03. ① 3+6+9+12+···+N 형태로 3의 배수를 더한다.
② 하나의 숫자를 입력받는다.
③ 3의 배수의 총합이 입력된 숫자를 넘었을 때의 N 값과 총합계, N 값이 몇 번째인지
-를 while 반복문을 사용해 프로그램을 작성하시오.
[실행 결과]
사용자 입력 : 10
10을 넘었을 때의 값 : 12
10을 넘었을 때까지의 총합계 : 18
10을 넘었을 때까지 몇 번째 3의 배수인가 : 4
① 조건 추출 :
- 3의 배수를 더한다
- 사용자가 입력한 숫자를 넘었을 때의 값, 넘었을 때까지의 총합계, 몇 번째 3의 배수인지 출력
② 연계된 논리 결정 :
- 3의 배수를 더한다 : 반복 논리
- 사용자가 입력한 숫자를 넘었을 때의 값, 넘었을 때까지의 총합계, 몇 번째 3의 배수인지 출력 : 반복 논리
③ 논리구조도 :
N = int(input("사용자 입력 : "))
i = 3
sum = 0
while i <= N:
if (i % 3 == 0):
sum += i
i += 3
print(N, "을 넘었을 때의 값 :", i)
print(N, "을 넘었을 때까지의 총합계 :", sum)
print(N, "을 넘었을 때까지 몇 번째 3의 배수인가 :", i)
04. 10개의 정수를 입력받아 합을 구하는 프로그램을 while문을 사용하여 작성하시오. 단 ,짝수 번째에 입력되는 숫자는 양수를 음수로, 음수는 양수로 바꾸어 합을 구하시오.
① 조건 추출 :
입력받는 10개의 정수 중 짝수 번째에 입력되는 숫자는 양수를 음수로, 음수는 양수로 바꾸어 합 출력
② 연계된 논리 결정 :
- 10개의 정수를 입력받는다 : 반복 논리
- 짝수 번째에 입력되는 숫자는 양수를 음수로, 음수는 양수로 바꾼다 : 선택 논리
③ 논리구조도 :
num = 0
i = 1
sum = 0
while i <= 10:
num = int(input("정수를 입력하시오 : "))
if (i % 2 == 0):
if (num > 0 and num < 0):
sum += -num
else:
sum += num
i += 1
print(sum)
05. 사용자로부터 가장 좋아하는 월을 입력받아 그 월에 해당되는 계절을 출력하는 프로그램을 메뉴 형태로 while문을 사용하여 작성하시오.
[실행 결과]
=======================
가장 좋아하는 월은?(종료:0)
=======================
****** 5월 ******
5월은 봄에 해당됩니다
① 조건 추출 :
- 가장 좋아하는 월을 입력받고, 그 월에 해당되는 계절을 출력한다.
② 연계된 논리 결정 :
- 사용자가 입력한 월의 계절 출력 : 선택 논리
③ 논리구조도 :
while(True):
print("============================")
print("가장 좋아하는 월은?(종료:0)")
print("============================")
month = int(input())
print("******", month, "월 ******")
if (month >= 3 and month <= 5):
print(month, "월은 봄에 해당됩니다.")
continue
elif (month >= 6 and month <= 8):
print(month, "월은 여름에 해당됩니다.")
continue
elif (month >= 9 and month <= 11):
print(month, "월은 가을에 해당됩니다.")
continue
elif (month == 12 or month == 1 or month == 2):
print(month, "월은 겨울에 해당됩니다.")
continue
elif (month == 0):
print("프로그램 종료")
break
06. 사용자로부터 하나의 숫자를 입력받아 1부터 입력받은 숫자 사이의 소수를 구하여 출력하는 프로그램을 작성하시오.
소수: 1과 자신의 수 이외에는 나뉘지 않는 수(1 제외)
① 조건 추출 :
- 1부터 입력받은 숫자 사이의 소수 출력
② 연계된 논리 결정 :
- 1부터 입력받은 숫자 사이의 소수 출력 : 반복 논리
③ 논리구조도 :
num = int(input("숫자 입력 : "))
i = 1
for i in range(i, num+1):
if (num % i != 0):
print(i)
'파이썬 > 문제풀이' 카테고리의 다른 글
[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] Chapter 04 연습 문제 풀이 (0) | 2024.10.18 |
---|---|
[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] Chapter 03 연습 문제 풀이 (1) | 2024.10.17 |
[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] Chapter 02 연습 문제 풀이 (7) | 2024.10.16 |
[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] Chapter 01 연습 문제 풀이 (2) | 2024.10.16 |