※ 모든 문제의 저작권은 SW Expert 아카데미에 있습니다. 학습 기록용으로 입니다. 문제시 삭제하겠습니다.
6218. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 6. 흐름과 제어 - If 1
다음의 결과와 같이 임의의 양의 정수를 입력받아 그 정수의 모든 약수를 구하십시오
입력_
9
출력_
1(은)는 9의 약수입니다.
3(은)는 9의 약수입니다.
9(은)는 9의 약수입니다.
[문제 풀이]
# 정수 입력
n = int(input())
for i in range(1, n+1):
if n % i == 0:
print(f'{i}(은)는 {n}의 약수입니다.')
6219. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 6. 흐름과 제어 - If 2
다음의 결과와 같이 임의의 양의 정수를 입력받아 그 정수의 모든 약수를 구하십시오
(단, 약수가 2개일 경우 소수임을 나타내십시오)
입력_
5
출력_
1(은)는 5의 약수입니다.
5(은)는 5의 약수입니다.
5(은)는 1과 5로만 나눌 수 있는 소수입니다
[문제 풀이]
# 정수 입력
n = int(input())
cnt = 0
for i in range(1, n+1):
if n % i == 0:
print(f'{i}(은)는 {n}의 약수입니다.')
cnt += 1
if cnt == 2:
print(f'{n}(은)는 1과 {n}로만 나눌 수 있는 소수입니다.')
6220. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 6. 흐름과 제어 - If 3
다음의 결과와 같이 입력된 영어 알파벳 문자에 대해 대소문자를 구분하는 코드를 작성하십시오.
입력_
b
출력_
b 는 소문자 입니다.
[문제 풀이]
# 정수 입력
n = input()
if n == n.lower():
print(f"{n} 는 소문자 입니다.")
else: print(f"{n} 는 대문자 입니다.")
6221. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 6. 흐름과 제어 - If 4
다음의 결과와 같이 가상의 두 사람이 가위 바위 보 중 하나를 내서 승패를 가르는 가위 바위 보 게임을 작성하십시오.
이 때 ["가위", "바위", "보"] 리스트를 활용합니다.
입력_
바위
가위
출력_
Result : Man1 Win!
[문제 풀이]
# 리스트
lst = ["가위", "바위", "보"]
# 입력받기
Man1 = input()
Man2 = input()
# 입력값이 같다면 비긴거 출력
if Man1 == Man2:
print('Result : Draw')
# (가위, 바위), (가위, 보), (바위, 보)인지 비교
elif lst.index(Man1) < lst.index(Man2):
# (가위, 보)면 man1이 이긴거 출력
if lst.index(Man1) == 0 and lst.index(Man2) == 2:
print('Result : Man1 Win!')
# 나머진 인덱스 값이 큰 man2가 이긴거 출력
else: print('Result : Man2 Win!')
# 위와 동일
elif lst.index(Man1) > lst.index(Man2):
if lst.index(Man1) == 2 and lst.index(Man2) == 0:
print('Result : Man2 Win!')
else: print('Result : Man1 Win!')
6222. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 6. 흐름과 제어 - If 5
다음의 결과와 같이 입력된 문자가 대문자일 경우 소문자로, 소문자일 경우 대문자로 변경하고,
알파벳이 아닐 경우엔 그냥 출력하는 코드를 작성하십시오.
출력 시 아스키코드를 함께 출력합니다.
입력_
c
출력_
c(ASCII: 99) => C(ASCII: 67)
[문제 풀이]
# 입력받기
char = input()
# 대문자라면
if char == char.upper():
# 대문자, 대문자의 아스키코드, 소문자, 소문자의 아스키 코드
print('{}(ASCII: {}) => {}(ASCII: {})'.format(char, ord(char), char.lower(), ord(char.lower())))
# 소문자라면
elif char == char.lower():
print('{}(ASCII: {}) => {}(ASCII: {})'.format(char, ord(char), char.upper(), ord(char.upper())))
6226. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 6. 흐름과 제어 - If 7
1~200 사이의 정수 가운데 7의 배수이면서 5의 배수는 아닌 모든 숫자들을 찾아
콤마(,)로 구분된 문자열을 구성해 출력하는 프로그램을 작성하십시오.
출력_
7,14,21,28,42,49,56,63,77,84,91,98,112,119,126,133,147,154,161,168,182,189,196
[문제 풀이]
# 리스트 생성
lst = []
# 1~200번 반복
for i in range(1, 201):
# 7의 배수이며 5의 배수가 아닌 수
if i % 7 == 0 and i % 5 != 0:
lst.append(i) # 리스트에 추가
# *사용해 리스트 [] 언팩하고 ,로 구분해 출력
print(*lst, sep=',')
6227. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 6. 흐름과 제어 - If 8
100~300 사이의 숫자에서 각각의 자리 숫자가 짝수인 숫자를 찾아 콤마(,)로 구분해 출력하는 프로그램을 작성하십시오.
출력_
200,202,204,206,208,220,222,224,226,228,240,242,244,246,248,260,262,264,266,268,280,282,284,286,288
[문제 풀이]
# 리스트 생성
lst = []
# 100~300번 반복
for i in range(100, 301):
# 각 자리의 짝수 찾기
# 1의 자리 짝수, 100의 자리 짝수, 10의 자리 짝수
if i % 2 == 0 and (i//100) % 2 == 0 and (i//10) % 2 == 0:
lst.append(i) # 리스트에 추가
# *사용해 리스트 [] 언팩하고 ,로 구분해 출력
print(*lst, sep=',')