История изменений
Исправление slovazap, (текущая версия) :
На логику не смотрел (но по-моему у тебя там не различаются входные и выходные состояния), а насчёт компактности - открой для себя collections.
from collections import defaultdict
states = defaultdict(int)
states['A', 'B'] += 1
states['B', 'C'] += 1
states['C', None] += 1
for (from_, to), count in states.items():
print(from_, '→', to, ':', count)
A → B : 1
B → C : 1
C → None : 1
Ещё лучше тут подходит collections.Counter.
Исходная версия slovazap, :
На логику не смотрел, а насчёт компактности - открой для себя collections:
from collections import defaultdict
states = defaultdict(int)
states['A', 'B'] += 1
states['B', 'C'] += 1
states['C', None] += 1
for (from_, to), count in states.items():
print(from_, '→', to, ':', count)
A → B : 1
B → C : 1
C → None : 1
Ещё лучше тут подходит collections.Counter.