
오늘부터 최소 1개 이상은 기초 알고리즘을 python으로 만들어 볼 예정입니다.
지금까지 java만 해왔기 때문에 조금씩 알아가 보며 작성 하겠습니다
우선 처음에 작성한 코드 입니다.
a, b = map(int, input().strip().split(' '))
print("a = " + a + "b = " + b)
결론부터 말하자면 오류가 나옵니다
오류가 나오는 이유는
Java는 문자열은 "" 에 가두고 값데이터 들은 a이렇게 작성하는데 python에서 문자열과 숫자를 + 로 연결할수 없습니다
이를 올바르게 작성을 할려면
f-string 이 있습니다.
사용법은
a = 2
print(f"a = {a}")
완성된 코드
a, b = map(int, input().strip().split(' '))
print(f"a = {a}")
print(f"b = {b}")
이렇게 할시 맨 앞에 a는 string으로 그대로 출력이 되며
{a}의 경우에는 위 변수 a = 2 이니 2가 출력이 된다.

이번 코드는 저번 다이아몬드 만든 알고리즘 처럼 하면 되지만 문제가 발생했다
java에서는 print만 쓰면 줄바꿈이 없지만
python에서는 print만써도 줄바꿈이 있었다
이러한 점을 고치기 위해서는 출력할 문장 뒤에 ,를 추가해주고 그 뒤에 end=""를 붙여주는거다
여기서 end는 줄바꿈 대신에 무엇을 추가할지 정하는것 이다.
나는 뒤에 ""를 추가했으니 아무것도 줄바꿈도 하지않고 아무것도 출력을 안하기로 했으니 바로 stringstring으로 나온다.
초기 코드
str, n = input().strip().split(' ')
n = int(n)
for i in range(n):
print(str)
위 코드가 줄바꿈이 된상태로 string이 계속 출력된 코드다
str, n = input().strip().split(' ')
n = int(n)
for i in range(n):
print(str, end="")
해당 코드는 줄바꿈을 하지 않고 stringstring으로 출력된다.
a, b = input().strip().split(' ')
print(a * int(b))
나랑은다르게 n을 int로 변환후에 반복문을 돌리지 않고
python의 방식대로 print에 함수를 입력해서 매우 간편하게 작성을 했다.
의문
위 print는 string과 int가 합쳐져 있는데 잘됩니다.
왜 그럴지 gpt에게 물어본 결과
+는 문자열 연결로만 사용되어 다른 타입은 안되고
*는 문자열 반복이라 int를 사용할수 있습니다.

해당 문제를 풀려면 몇가지 함수를 알아야합니다
다른 방법도 있을수 있지만 저는 lower, upper, isupper을 사용했습니다.
lower = 대문자를 소문자로 변환
upper = 소문자를 대문자로 변환
isupper = 해당 문자가 대문자인지 확인(ture, false)
이후 함수를 알고난 후에 아래의 코드로 실행했습니다.
str = input()
# 새로운 문자열을 저장할 변수
result = ""
# str문자열을 하나씩 반복함
for char in str:
# isupper()은 해당 문자가 대문자인지 확인한다 대문자일시 true
if char.isupper():
# 대문자일시 lower함수로 소문자로 변환
#변환후에 result에 변환한 값을 넣음
result += char.lower()
else:
# 대문자가 아닐시(false)일시 upper함수로 대문자로 변환
result += char.upper()
# 변환한 값들을 전부 출력
print(result)
이렇게 했지만 결국 실패했습니다..
이유는 print(result)를 for문 안에 넣어서 반복할때마다 한번씩 출력이되서 실패하엿습니다.
python은 들여쓰기가 중요해서 이것에 대해서 좀더 조심해야할 거 같습니다.
완성된 코드는 아래입니다.
str = input()
# 새로운 문자열을 저장할 변수
result = ""
# str문자열을 하나씩 반복함
for char in str:
# isupper()은 해당 문자가 대문자인지 확인한다 대문자일시 true
if char.isupper():
# 대문자일시 lower함수로 소문자로 변환
#변환후에 result에 변환한 값을 넣음
result += char.lower()
else:
# 대문자가 아닐시(false)일시 upper함수로 대문자로 변환
result += char.upper()
# 변환한 값들을 전부 출력
print(result)