Buggy python submission (verdict: Runtime Error):
# -*- coding: utf-8 -*-
"""
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_8_C

?????????????????????

?????????????????±??????????????????????????¢???????????????????????°?????°??????????????°????????????????????????????????? ??????????°?????????¨??§??????????????\???????????????
"""

if __name__ == '__main__':
    sentence_end = False  # ????????\??????????????????????????????
    letter_counts = [0] * 26  # ?????¢????????????????????????????????° [0]???'a'???[25]???'z'??????????????°
    while sentence_end is False:
        # ??±?????????????????\???
        raw_input = input()
        if '.' in raw_input:
            sentence_end = True

        # ?°?????????¨??§??????????????\????????????
        lower_text = raw_input.lower()

        # ??¢???????????????????????¨??????????????°???????¨?
        for c in lower_text:
            if 'a' <= c <= 'z':
                letter_counts[ord(c)-ord('a')] += 1

    # ????????? 'a : a????????°' ?????¢??§z?????§1????????¨?????????
    for i, n in enumerate(letter_counts):
        print('{0} : {1}'.format(chr(ord('a')+i), n))

Fixed submission:
# -*- coding: utf-8 -*-
"""
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_8_C&lang=jp

"""
import sys
from sys import stdin
from collections import defaultdict
input = stdin.readline


def main(args):
    word = defaultdict(int)
    for line in sys.stdin:
        line = line.strip()
        for c in line:
            if c.isalpha():
                c = c.lower()
                word[c] += 1

    for c in 'abcdefghijklmnopqrstuvwxyz':
        print('{} : {}'.format(c, word[c]))


if __name__ == '__main__':
    main(sys.argv[1:])

Buggy python submission (verdict: Runtime Error):
# -*- coding: utf-8 -*-
"""
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_8_C

?????????????????????

?????????????????±??????????????????????????¢???????????????????????°?????°??????????????°????????????????????????????????? ??????????°?????????¨??§??????????????\???????????????
"""

if __name__ == '__main__':
    sentence_end = False  # ????????\??????????????????????????????
    letter_counts = [0] * 26  # ?????¢????????????????????????????????° [0]???'a'???[25]???'z'??????????????°
    while sentence_end is False:
        # ??±?????????????????\???
        raw_input = input()
        if '.' in raw_input or raw_input == '':
            sentence_end = True

        # ?°?????????¨??§??????????????\????????????
        lower_text = raw_input.lower()

        # ??¢???????????????????????¨??????????????°???????¨?
        for c in lower_text:
            if 'a' <= c <= 'z':
                letter_counts[ord(c)-ord('a')] += 1

    # ????????? 'a : a????????°' ?????¢??§z?????§1????????¨?????????
    for i, n in enumerate(letter_counts):
        print('{0} : {1}'.format(chr(ord('a')+i), n))

Fixed submission:
# -*- coding: utf-8 -*-
"""
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_8_C&lang=jp

"""
import sys
from sys import stdin
from collections import defaultdict
input = stdin.readline


def main(args):
    word = defaultdict(int)
    for line in sys.stdin:
        line = line.strip()
        for c in line:
            if c.isalpha():
                c = c.lower()
                word[c] += 1

    for c in 'abcdefghijklmnopqrstuvwxyz':
        print('{} : {}'.format(c, word[c]))


if __name__ == '__main__':
    main(sys.argv[1:])