Здравствуйте. Нужна помощь, в институте уволили преподшу, преподающую нам программирование, вместо нее поставили другого который не знает питона, он сказал сдаете все лабы будет вам зачет. никакие лекции и семинары у нас не проводятся. 2 лабы я уже вроде как сделал, но как делать вот эту не представляю как:
Цель — научиться использовать принцип конечных автоматов для простейшего лексического анализа.
Задание. Составить программу на языке Python, выполняющую анализ и обработку вводимого текста в соответствии с вариантом задания. В программе не должно быть ограничений на количество и длину строк исходного текста. Предполагается, что текст дан в кодировке ASCII и содержит буквы только латинского алфавита.
Замечания. Программа должна читать данные со стандартного ввода и выводить на стандартный вывод. Знак табуляции обозначается как «\t», а перевод строки «\n» при работе над программой.
Выделить все нечетные числа в тексте, если сумма их цифр четна.
< if i was you, i'd do 77 labs in 3 weeks
> 77
Пример Реализовать конечный автомат для подсчета слов в тексте, состоящего только из букв латинского алфавита и разделителей:**
from sys import stdin
k = 0
state = “out”
for char in stdin.read():
if state == “out”:
if “a” <= char <= “z” or “A” <= c <= “Z”:
state = “in”
k = k + 1
elif state == “in”:
if char == “ ” or char == “\t” or char == “\n” or char == “,”:
state = “out”
print k
с машиной тьюринга знаком, но не могу понять как заставить питон перебирать символы строк, что за метод(?) stdin.read, sys, char, from import stdin. Объясните хотя пример который приведен выше, за что каждое слово в ном отвечает, сам я нигде про это не могу найти информации(
спасибо