https://www.acmicpc.net/problem/10820
계속 입력 받는게 문제이다. input을 사용한다면 EOFError를 이용하여서 풀면 되고, sys.stdin.readline을 이용한다면 비어있는지 확인함으로써 풀 수 있다. 나머지 소문자, 문자, 숫자, 공백을 구분하는 것은 python의 함수인 islower, isupper, isdigit, issapce로 판단할 수 있다.
from sys import stdin
input = stdin.readline
while True:
low = 0
upp = 0
num = 0
voi = 0
line = input().rstrip('\n') #문자열 뒤의 \n만 지우기 위함이다.
if not line: # readline은 아무것도 입력되지 않았을때 EOFError가 아닌 빈 문자열을 반환한다.
break
for i in line:
if i.islower():
low+=1
elif i.isupper():
upp +=1
elif i.isdigit():
num +=1
elif i.isspace():
voi +=1
print(low,upp,num,voi)
https://y00n-lee.tistory.com/9
https://joewithtech.tistory.com/26