파이썬 문자열 포함, 문자열 갯수 세기
파이썬 문자열 포함, 문자열 갯수 세기에 대해 알아보겠습니다.
파이썬 임의의 문자열 입력받아 있는지 없는지 판단하기, 몇번 나오는지 체크하기
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), "번 사용되었습니다")
이런식으로 조건에 따라 출력을 달리 할 수 있겠습니다.
어렵지 않죠?