본문 바로가기
Python

파이썬 초급 #020 조건문 if문 예: 숫자 입력후 짝수 홀수 판별코드, 문자열에서 가운데 문자열 출력하는 코드

by Smart Factory in 2020 2022. 1. 28.
728x90
반응형

안녕하세요. 스마트 팩토리입니다. 파이썬 초급 #020 조건문 if문  예: 숫자 입력후 짝수 홀수 판별코드, 문자열에서 가운데 문자열 출력하는 코드를 알아보겠습니다 

 

 

 

1. 조건문 if 예시

가. 숫자를 입력 받아 짝수 홀수 판별하는 코드 

 

num1=int(input(" 숫자를 입력하세요 "))

숫자 정수를 입력받기 위해서 int 형으로 하였습니다. 


if num1%2==0 :
    print(num1,"은 짝수입니다. ")

else :
    print(num1,"은 홀수 입니다. ")

 

==  조건 연산자 중 같다는 의미를 나타내고, 나머지 연산자를 사용하여 2로 나누어 나머지가 0 이면 짝수 면 짝수를 출력하게 됩니다.

해당 조건이 거짓이면 else 문에서 홓수 입니다를 출력하게 됩니다. 

num1=int(input(" 숫자를 입력하세요 "))
if num1%2==0 :
    print(num1,"은 짝수입니다. ")

else :
    print(num1,"은 홀수 입니다. ")

 

문자열에서 가운데 문자 출력하는 코드 

 

 

위 코드는  abc 라고 하면 가운데 글자가 b 가 됩니다.  문자열이 abcd라고 하면 가운데 글자는 없기 때문에 두 글자 즉 bc를 출력하게 하는 코드입니다.

act 와 love를 예로 들면 

인덱스 번호로 act 에서는 1번 이고 love에서는 인덱스 1,2 의 값이 출력됩니다. 

 

 

코드를 보면서 알아보겠습니다. 

str1=input(" 문자열을 입력하세요")
length=len(str1)

문자열을 str1 저장합니다. 그리고 그 문자의 길이를 계산하여 length에 저장합니다. 


if (length%2)==1:
    ch=str1[length//2]
    print("중앙에 있는 한 글자 ", ch)

 글자의 길이을 계산하여 홀수가 나오면 가운데 글자를 출력하면 됩니다. 하지만 짝수가 나오면 두 글자를 출력하게 됩니다.  

총길이가 3이라고 하면  인덱스로 하면 1번이 출력되게 됩니다. 

 

총길이가 4인 경우는 위 조건을 만족시키지 않습니다. 

else:
    ch1=str1[length//2-1]
    ch2=str1[length//2]
    print("중앙에 있는 두 글자 ",ch1, ch2)

조건이 거짓인 경우 즉 길이가 짝수인 경우는  가운데 있는 두 글자를 출력하게 됩니다. 
인덱스로 할때 0부터 시작한다는 것을 까먹으면 안됩니다. 

 

4를 2로 나누면 2가 되는데 // 연산자는 나머지를 없애고 정수형으로 즉 몫만 구하는 연산자입니다. 
인덱스 2 번과 1(2-1)번을 출력하게 됩니다. 


 다른 결과값을 보고 알아보면

길이는 6입니다. 

6//2 는 3 이고 인덱스 3번과 , 2(3-1)번을 출력하게 됩니다. 

 순서는 당연히 작은 값이 먼저 출력되게하여 결과값으로 2와 3이 출력된 것을 볼 수 있습니다. 참고로 위 012345는 문자로 인식되어 있습니다. 

문자열인 경우는 위 처럼 간단하지만 숫자에서 자릿수를 무시하고 가운데 숫자를 뽑아내는 경우는 다른 방식이 요구됩니다. 그건 다음에 알아보도록 하겠습니다. 

 

str1=input(" 문자열을 입력하세요")
length=len(str1)

if (length%2)==1:
    ch=str1[length//2]
    print("중앙에 있는 한 글자 ", ch)
else:
    ch1=str1[length//2-1]
    ch2=str1[length//2]
    print("중앙에 있는 두 글자 ",ch1, ch2)

 

728x90
반응형

댓글