programming

파이썬 문자열 포함, 문자열 갯수 세기


by Kitle · 2020. 07. 08.



파이썬 문자열 포함, 문자열 갯수 세기에 대해 알아보겠습니다.


파이썬 임의의 문자열 입력받아 있는지 없는지 판단하기, 몇번 나오는지 체크하기

python은 이런 문자열 다루는데 특화되어 있어서 아주 쉽게 처리할 수 있습니다.


testword = "hello, welcome to python world. hello!"
print('input : ', end="")
user_input = input()
print(testword.count(user_input))


우선 비교할 원 문장을 testword 로 넣어두고, user_input 부분은 사용자가 직접 입력하게 하겠습니다.

사실 테스트 모드에서 매번 입력하는 것도 귀찮은 일이므로, 데이터 셋을 만들어 놓고 for문으로 돌리거나 하는것이 쉽고, 맨 마지막에 user input 으로 하여 최종 테스트 하는 것이 어떻게 보면 효율을 높이는 방법이라고 생각하시면 됩니다.


우선 위의 4줄 문장을 실행해 보겠습니다.

input = 에 커서가 깜빡깜빡 하고 있을겁니다.


두번째 print 문은 ('input :') 까지만 쓸 수 도 있습니다. 그렇게 되면 커서가 다음줄로 넘어가 있습니다. print 문은 옵션이 없어도 뒤에 자동으로 개행 \n 이 숨어있어서 난 print문이 끝나도 다음줄로 넘기지 않을거야 란 뜻으로 , end 인자를 하나 추가해줍니다 값은 필요없으니 end='' 를 추가해주면 됩니다. 두가지를 비교하여 출력 해보는 것도 도움이 될 것입니다.


이제 차이를 알 수 있으시죠?

자 그럼 이제 이제 여기서 실제 값을 입력 해보죠. 테스트 문자는 hello 로 해보겠습니다. 눈으로 보시면 아시겠지만 해당 문장에 hello 는 시작과 끝 지점에 총 두번이 존재한다는 것을 눈으로 쉽게 알 수 있습니다.

그렇다면 실제 그렇게 되는지 출력해볼게요.

 

hello 를 입력하고 엔터를 쳐 보겠습니다.

결과가 2가 나오는지요.


입력한 문자가 몇번 나오는지  카운트 해주는게 지원됩니다. 한두개는 사람의 눈으로 쉽게 판단할 수 있지만 양이 많아질수록 사람이 하긴 힘들죠.

그렇기 때문에 이런 프로그래밍을 통해서 내가 할일을 컴퓨터에게 시켜줘야 합니다.

그리고 우린 커피 마실 시간을 벌면 되니까요 :)


그러면 내가 입력한 문자가 있는지 없는지는 어떻게 판단할까요?


여러가지 방법이 있겠지만 count() 결과가 0 이면 없는 것이고 1보다 크면 있는 것이니 이것으로 조건문을 만들어주면 되겠습니다.

좀 더 안전하게 1보다 작으면 없고 1보다 크면 있는 것으로 조건을 좀 수정해보겠습니다.

testword = "hello, welcome to python world. hello!"
print('input : ', end="")
user_input = input()
if testword.count(user_input) < 1:
    print("해당 단어는 존재하지 않습니다.")
else:
    print("해당 단어는", testword.count(user_input), "번 사용되었습니다")


이런식으로 조건에 따라 출력을 달리 할 수 있겠습니다.

어렵지 않죠?