# Solution to Indented List Problem

Last week's homework was to convert a two-level bullet-point list like this:

```* A
* B
* 1
* 2
* C
* 3```

into an HTML list like this:

```<ul>
<li>A</li>
<li>B
<ul>
<li>1</li>
<li>2</li>
</ul>
</li>
<li>C
<ul>
<li>3</li>
</ul>
</li>
</ul>```
`so it would display like this:`
• A
• B
• 1
• 2
• C
• 3

My solution is shown in the video below; the code follows.

```import sys

def do_inner(lines, current):
need_to_start = True
need_to_close = False
while (current < len(lines)) and \
lines[current].startswith('  * '):
if need_to_start:
print '  <ul>'
need_to_start = False
text = lines[current].lstrip('  * ').rstrip()
print '  <li>' + text + '</li>'
need_to_close = True
current += 1
if need_to_close:
print '  </ul>'
return current

def do_outer(lines):
print '<ul>'
current = 0
while current < len(lines):
assert lines[current].startswith('* ')
text = lines[current].lstrip('* ').rstrip()
print '<li>' + text
current = do_inner(lines, current+1)
print '</li>'
print '</ul>'

do_outer(lines)```