problem: given a line, pick out the numbers (sequence of digits like 24 or 459) ============================ read in line go down line, looking for a digit -- if found, save it and continue saving until first non-digit (or end) -- print it repeat until end of line ============================ read in line get length of line -- call it L for each character in line -- start at 0, go to L-1 inclusive -- if it's not a digit, go back to for -- save character somewhere repeat while it's a digit -- look at next character -- if digit, append to previously saved character -- if not, print saved characters ============================ hel32lo5^ 32 print it 5 print it ============================ line = input("> ") L = len(line) for i in range(L): if not line[i].isdigit(): continue digitstring = line[i] i = i+1 while line[i].isdigit(): digitstring = digitstring + line[i] i = i + 1 print(digitstring) ============================ read in line get length of line -- call it L indigits = FALSE for each character in line -- start at 0, go to L-1 inclusive -- if it's not a digit and indigits is FALSE: go back to for -- if it's not a digit and indigits is TRUE: print string of digits clear string of digits go back to for -- indigits = TRUE -- stick character on end of digitstring if the last thing you looked at was digit print digitstring ============================ line = input("> ") L = len(line) indigits = False digitstring = "" for i in range(L): if not line[i].isdigit() and not indigits: continue if not line[i].isdigit() and indigits: indigits = False print(digitstring) digitstring = "" continue indigits = True digitstring = digitstring + line[i] if indigits: print(digitstring) ======================== hel34lo5^ L = 9 indigits = False True True False True False digitstring = "" i = 0 1 2 3 4 5 print: 34 ================== 8 L = 1 indigits = False True digitstring = "8" i = 0