[#] Строки
vit01(mira, 1) — All
2015-12-04 04:13:37


В заданной строке найти самое короткое слово. Слова могут быть разделены
пробелами, несколькими пробелами, знаками препинания.
**Алгоритм решения задачи:**
1. Длина очередного слова будет храниться в переменной w. Вначале присвоим этой переменно 0, т. к. в строке слов может вообще не быть.
2. Длина самого короткого слова будет записана в переменной min_w. Вначале этой переменной присваивается максимально возможная длина слова. Самое длинное слово может быть, если вся строка состоит только из одного слова. Поэтому сначала min_w равна длине строки.
3. Перебираем строку посимвольно в цикле for.
4. Если очередной символ является буквой, то увеличиваем значение w.
5. Иначе проверяем не меньше ли длина только что "измеренного" слова, чем значение min_w. Если это так, то меняем значение min_w на значение w.
6. Также в ветке else (иначе) обнуляем w, т.к. очередное слово закончилось и необходимо будет "измерять" новое.
    s = input()
    w = 0
    min_w = len(s)
    for i in s:
    	if 'a'<=i<='z' or 'A'<=i<='Z' \
    	or 'а'<=i<='я' or 'А'<=i<='Я':
    		w += 1
    	else:
    		if w < min_w and w != 0:
    			min_w = w
    		w = 0
    print(min_w)
Пример работы программы:
    Кто сказал мяу?            3
========
    1   what 
    4