Test/python
대소문자 바꿔서 출력하기 (upper, lower, swapcase)
soo15
2023. 4. 25. 16:27
[문제 설명]
영어 알파벳으로 이루어진 문자열 str이 주어집니다.
각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.
[제한사항]
1 ≤ str의 길이 ≤ 10
str은 알파벳으로 이루어진 문자열입니다.
[입출력 예]
입력 #1)
aBcDeFg
출력 #1)
AbCdEfG
[나의 풀이]
str = input()
a = []
# 1. 알파벳이 소문자인지 대문자인지 판별하여 상호변환
for i in str:
if i.islower():
a.append(i.upper())
else:
a.append(i.lower())
# 2. list인 a를 문자열로 바꾸기
print(''.join(a))
[설명]
1. 알파벳이 소문자인지 대문자인지 판별하여 상호변환
(대문자는 소문자로 / 소문자는 대문자로)
str = 'aBcDeFg'
a = []
for i in str:
if i.islower():
a.append(i.upper())
print(a)
else:
a.append(i.lower())
print(a)
Out[1]:
['A']
['A', 'b']
['A', 'b', 'C']
['A', 'b', 'C', 'd']
['A', 'b', 'C', 'd', 'E']
['A', 'b', 'C', 'd', 'E', 'f']
['A', 'b', 'C', 'd', 'E', 'f', 'G']
> 대문자인지 확인 : string.isupper()
> 소문자인지 확인 : string.islower()
> 대문자로 바꾸기 : string.upper()
> 소문자로 바꾸기 : string.lower()
2. list인 a를 문자열로 바꾸기
print(a)
print(''.join(a))
Out[2]:
['A', 'b', 'C', 'd', 'E', 'f', 'G']
AbCdEfG
[다른 사람 풀이 1]
print(input().swapcase())
[설명]
str = 'aBcDeFg'
print(str.swapcase())
Out[3]:
AbCdEfG
> swapcase()
: 대문자를 소문자로, 소문자를 대문자로 상호 변환해 주는 함수
[다른 사람 풀이 2]
str = input()
for i in str:
if i.islower():
print(i.upper(),end='')
else:
print(i.lower(),end='')
> 알파벳을 상호 변환하여 끝을 ''로 만들기
[다른 사람 풀이 3]
ans = ''
for a in input():
if a.isupper():
ans += a.lower()
else:
ans += a.upper()
print(ans)
> 알파벳을 상호 변환하여 ans에 하나씩 추가